![](/img/trans.png)
[英]How to allow NSAttributedString text be typed into a UITextView?
[英]How to bind NSAttributedString to UITextView
我们正在使用MVVMCross,并且在将NSAttributedString绑定到UITextView时遇到了麻烦。 这很奇怪,因为相同的代码可以在不使用BindingSet的情况下工作,也可以使用Bindig for Text属性而不是AttributedText
如前所述,这行代码未绑定,TextView仅显示默认文本:
set.Bind (TxtActivityText).For(txt => txt.AttributedText).To (vm => vm.Activity).WithConversion("ActivitySpanMessage");
...并输出以下警告: “ MvxBind:警告:6.06无法创建用于绑定Activity的AttributedText的目标绑定”
尽管此行工作正常:
set.Bind (TxtActivityText).For(txt => txt.Text).To (vm => vm.Activity).WithConversion("ActivitySpanMessage"); // Works fine also binding to the default property
最后,不用绑定也可以正常工作:
TxtActivityText.AttributedText = SpanMessageHelper.ConvertToAttributedString(ViewModel.Activity, null, null, null); // This function is the same I call in the ActivitySpanMessageConverter
有任何想法吗? 这可能是一个错误吗?
这可能是因为Xamarin链接器不包括UITextView.AttributedText,因为它仅在表达式中使用。 有关更多信息, 请参见此帖子: MvvmCross无法在iPhone上为EditingDidBegin创建目标绑定
您可以通过以下方法解决此问题:转到LinkerPleaseInclude.cs并更改您的UITextView包含方法:
public void Include(UITextView textView)
{
textView.Text = textView.Text + "";
textView.Changed += (sender, args) => { textView.Text = ""; };
// Add this line here
textView.AttributedText = new NSAttributedString();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.