Вы можете использовать Custom Renderer и реализовать его на определенных c платформах.
Кроме того, двойное подчеркивание доступно в iOS по умолчанию. Но в Android он недоступен.
в iOS
using Foundation;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
using App34.iOS;
[assembly:ExportRenderer(typeof(Label),typeof(MyLabelRenderer))]
namespace App34.iOS
{
public class MyLabelRenderer:LabelRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
{
base.OnElementChanged(e);
if(Control!=null)
{
var content = Control.Text;
UIStringAttributes attributes = new UIStringAttributes() { UnderlineStyle = NSUnderlineStyle.Double,UnderlineColor=UIColor.Red };
NSMutableAttributedString str = new NSMutableAttributedString(content, attributes);
Control.AttributedText = str;
}
}
}
}
в Android
Стиль для одиночного подчеркивания.
using Android.Content;
using Android.Widget;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
using App34.Droid;
using Android.Text;
[assembly: ExportRenderer(typeof(Label), typeof(MyLabelRenderer))]
namespace App34.Droid
{
public class MyLabelRenderer : LabelRenderer
{
public MyLabelRenderer(Context context) : base(context)
{
}
protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
{
base.OnElementChanged(e);
if(Control!=null)
{
Control.SetText(Html.FromHtml("<u>" + Control.Text +"</u>",FromHtmlOptions.ModeLegacy),TextView.BufferType.Normal);
}
}
}
}