Я использую CustomRenderer , чтобы сделать текст метки гиперссылкой.С моим кодом Label отображается подчеркнутым, и мы используем Label.GestureRecognizers для захвата клика.Но курсор мыши не показывает «Рука» после наведения на текст гиперссылки.
Ниже приведен код, который мы используем:
Общий проект:
HyperlinkLabel.cs:
namespace HyperlinkLabelControl
{
public class HyperLinkLabel : Label
{
}
}
MainPage.xaml:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:HyperlinkLabelControl"
x:Class="HyperlinkLabelControl.MainPage">
<ContentPage.Content>
<StackLayout>
<local:HyperlinkLabel Text="MyHyperLinkLabel" >
<Label.GestureRecognizers>
<TapGestureRecognizer
Command="{Binding BindingContext.MyClickedCommand, Source={x:Reference List}}"
CommandParameter="{Binding .}" />
</Label.GestureRecognizers>
</local:HyperlinkLabel>
</StackLayout>
</ContentPage.Content>
</ContentPage>
Проект UWP:
HyperLinkLabelRenderer.cs:
[assembly: ExportRenderer(typeof(HyperLinkLabel), typeof(HyperLinkLabelRenderer))]
namespace HyperlinkLabelControl.UWP.Renderers
{
public class HyperLinkLabelRenderer : LabelRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
{
base.OnElementChanged(e);
if (Control != null)
Control.TextDecorations = TextDecorations.Underline;
}
}
}
Пожалуйста, обеспечьте подход, при котором курсор мыши будет отображать руку после наведения мыши наТекст гиперссылки на Xamarin.