我在视图模型上有一个名为 BorderColor 的字符串类型的属性,我尝试将其绑定到 UIView.Layer.BorderColor,这是绑定语法:
set.Bind (this.MyUIView).For ("Layer.BorderColor").To (t => t.BorderColor).WithConversion (new StringToColorConverter { ToCGColor = true });
然而,它不起作用,如果我说直接绑定到 UIView 上的 BackgroundColor 属性,它就像一个魅力。有人知道 MvvmCross 是否支持绑定到 Layer 属性吗?
我尝试了目标路径的不同变体,例如“Layer.BorderColor”,并强类型化 t=>Layer.BorderColor,但没有成功。
来自流畅绑定语法的描述https://github.com/MvvmCross/MvvmCross/wiki/Databinding# Fluent https://github.com/MvvmCross/MvvmCross/wiki/Databinding#fluent
流畅的语法提供了一种创建绑定的 C# 方式。
此语法通常使用 CreateBindingSet 帮助程序完成。
语法包括:
Bind($ViewObject$)
其中 $ViewObject$ 是绑定的视图目标。
For(v => v.$ViewProperty$)
其中 $ViewProperty$ 是视图上用于绑定的属性。
所以......你可以尝试使用:
set.Bind (this.MyUIView.Layer).For ("BorderColor")...
只要没有人改变,这应该有效Layer
本身 - 如果您需要比这更复杂的绑定,那么您需要创建一个自定义绑定(请参阅 N+1 系列中的示例)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)