У меня есть потребность, когда мне нужно динамически изменять статус подчеркивания определенного ярлыка Текст в формах Xamarin.
После обращения к нескольким постам о том, как подчеркнуть ярлык, я попробовал оба варианта, создавпользовательский рендер и использование эффектов.Текст подчеркивает отлично.Однако проблема в том, что статус подчеркивания метки не обновляется.Эта проблема, однако, только в iOS, Android работает нормально.
Я создал привязываемое свойство HasUnderline
в своем классе пользовательских меток в Xamarin Forms.Метод OnElementPropertyChange
в iOS запускается в CustomRenderer
.Затем я также изменяю свойство подчеркивания элемента управления с помощью
text.AddAttribute(UIStringAttributeKey.UnderlineStyle, NSNumber.FromInt32((int)NSUnderlineStyle.Single), range);
Однако это не отражается в пользовательском интерфейсе.
После стольких часов стука в голове я, наконец, однако, заметил, что если я изменю значение текста, подчеркивание сразу же отобразится.Таким образом, кажется, что изменение свойства подчеркивания не отражается до тех пор, пока что-то в содержании текста не изменится.Но я не хочу менять текст при добавлении / удалении подчеркивания.
Как мне решить эту проблему?