将我的iOS应用程序移植到统一的api中。我使用的是MvvmCross,不能再用UITextView绑定到TextColor。我收到以下警告:
MvxBind:警告: 39.30未能为绑定TextColor为EditableTextColour创建目标绑定
我的看法是:
set.Bind(userPromptTextView).For(up => up.BackgroundColor).To(vm => vm.EditableBackgroundColour);
set.Bind(userPromptTextView).For(up => up.TextColor).To(vm => vm.EditableTextColour);ViewModel:
public UIKit.UIColor EditableTextColour
{
get
{
return Question.IsEditable ? UIKit.UIColor.Black : UIKit.UIColor.Black.ColorWithAlpha(0.5f);
}
}注意,BackgroundColor绑定是正确的,尽管我相信它是绑定到UIView的。
我正在使用MvvmCross 3.5.1-alpha1 1,并在iPad (iOS 8.1.3)上进行测试。
NuGet软件包
<package id="MvvmCross" version="3.5.1-alpha1" targetFramework="xamarinios10" />
<package id="MvvmCross.HotTuna.CrossCore" version="3.5.1-alpha1" targetFramework="xamarinios10" />
<package id="MvvmCross.HotTuna.MvvmCrossLibraries" version="3.5.1-alpha1" targetFramework="xamarinios10" />
<package id="MvvmCross.HotTuna.Plugin.Color" version="3.5.1-alpha1" targetFramework="xamarinios10" />
<package id="MvvmCross.HotTuna.Plugin.Visibility" version="3.5.1-alpha1" targetFramework="xamarinios10" />
<package id="MvvmCross.HotTuna.StarterPack" version="3.5.1-alpha1" targetFramework="xamarinios10" />
<package id="MvvmCross.PortableSupport" version="3.5.1-alpha1" targetFramework="xamarinios10" />发布于 2015-02-19 13:24:58
也许这会回答你的问题:https://github.com/MvvmCross/MvvmCross/issues/902
我也有同样的问题,但是UILabel和UIView元素的布尔绑定。一个简单的解决方法是将UI元素声明为类中的private property (在您的例子中是:userPromptTextView)。
有了这个解决办法,GC不会消除元素,绑定应该可以工作。
https://stackoverflow.com/questions/28597039
复制相似问题