我需要动态地更改Xamarin Forms标签中特定文本的下划线状态。
在参考了有关如何对标签加下划线的多个文章之后,我尝试了这两个选项,创建了一个自定义渲染器并使用了效果。文字强调正确。但是,问题在于标签的下划线状态不会更新。但是,此问题仅在iOS中有效,Android可以正常工作。
我在Xamarin Forms的Custom Label类中创建了一个可绑定属性HasUnderline
。 iOS中的OnElementPropertyChange
方法是在CustomRenderer
中触发的。然后,我也使用
text.AddAttribute(UIStringAttributeKey.UnderlineStyle, NSNumber.FromInt32((int)NSUnderlineStyle.Single), range);
但是,UI中没有反映出同样的情况。
经过好几个小时的头部撞击之后,我终于注意到,如果更改了Text的值,则下划线会立即反映出来。因此,更改下划线属性似乎不会发生,直到文本内容中的某些内容发生更改为止。但是我不想在添加/删除下划线时更改文本。
如何解决此问题?