Как подчеркнуть отдельные слова в метке в Xamarin.Формы?


Я хотел бы сделать подчеркивание текста метки в Xamarin.Формы. Я не мог найти для этого никакого подходящего решения. Я обнаружил, что в Xamarin нет свойства подчеркивания для текста в a, поэтому мы могли бы добавить BoxView для строки вместо этого:

<StackLayout  Grid.Row="0" Padding="0" VerticalOptions="Center">
    <Label Text="Terms and Conditions" />
    <BoxView BackgroundColor="White" HeightRequest="1" Margin="0,-8,0,0" />
</StackLayout>
Но это также не является подходящим решением, так как оно подведет черту под всем StackView. Я хотел бы подчеркнуть только такие части текста, как слово "термины" в приведенном выше коде.
1 4

1 ответ:

Для этого можно использовать эффекты .

Создайте UnderlineEffect, используя:

Android

var tv = (TextView)Control;
tv.PaintFlags = tv.PaintFlags | PaintFlags.UnderlineText;

IOS

Вы должны использовать изменяемую строку, как показано здесь: https://stackoverflow.com/a/19630376/1489968

Edit

Я написал сообщение в блоге. Наслаждайтесь: http://smstuebe.de/2016/08/29/underlinedlabel.xamarin.forms/