Xaml 在Xamarin中将鼠标悬停在超链接标签文本上后,超链接标签文本不会显示鼠标指针
我正在使用CustomRenderer将标签文本作为超链接。我的代码标签带下划线,我们使用Label.gestureRecognitors捕捉点击。但鼠标光标悬停在超链接文本上后不会显示手 下面是我们正在使用的代码: 共享项目:Xaml 在Xamarin中将鼠标悬停在超链接标签文本上后,超链接标签文本不会显示鼠标指针,xaml,xamarin,xamarin.forms,uwp,Xaml,Xamarin,Xamarin.forms,Uwp,我正在使用CustomRenderer将标签文本作为超链接。我的代码标签带下划线,我们使用Label.gestureRecognitors捕捉点击。但鼠标光标悬停在超链接文本上后不会显示手 下面是我们正在使用的代码: 共享项目: HyperlinkLabel.cs: 命名空间HyperlinkLabelControl { 公共类HyperLinkLabel:标签 { } } MainPage.xaml: UWP项目: HyperLinkLabelRenderer.cs: [程序
- HyperlinkLabel.cs:
命名空间HyperlinkLabelControl
{
公共类HyperLinkLabel:标签
{
}
}
- MainPage.xaml:
UWP项目:
- HyperLinkLabelRenderer.cs:
[程序集:ExportRenderer(typeof(HyperLinkLabel)、typeof(HyperLinkLabelRenderer))]
命名空间HyperlinkLabelControl.UWP.Renderers
{
公共类HyperLinkLabelRenderer:LabelRenderer
{
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
if(控件!=null)
Control.textdemotations=textdemotations.Underline;
}
}
}
请提供鼠标光标在Xamarin中的超链接文本上悬停后显示手的方法
在Xamarin中将鼠标悬停在超链接标签文本上后,超链接标签文本不会显示鼠标指针
问题是超链接
未传递到TextBlock.Inlines
。而下划线
枚举仅在行文本样式下提供。您可以像在HyperLinkLabelRenderer
类中一样添加Hyperlink
protected override void OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
if(控件!=null)
{
Control.Inlines.Clear();
var hl=新的超链接();
添加(新运行{Text=Element.Text});
Control.Inlines.Add(hl);
}
}
谢谢,@Nico Zhu,这对我很有用。这里还有一件事我可以复制这个超链接标签的文本吗?复制文本吗?哪个文本?url或显示文本?您可以使用此属性Control.IsTextSelectionEnabled=true
。朱:我想复制标签的显示文本。属性Control.IsTextSelectionEnabled不允许我选择标签文本。还有一件事,处理文本超链接上单击事件的最佳方法是什么?