当我使用x绑定数据时:在我的xaml中绑定它可以工作,但是当使用Binding代替x:Bind执行相同的代码时,它不会。为什么会这样?我已经阅读了他们的不同之处,说一个是运行时和其他编译时间以及类似的东西,但这根本没有帮助。任何人都可以在实际水平上帮助我吗?
答案 0 :(得分:1)
使用x:bind,您只能绑定模型类实例的成员。
//sends whole current instance to the converter.
//(note: yes you see correct. no property is attached after Binding keyword
....
<DataTemplate x:DataType="Models:Human">
<StackPanel Background="{Binding Converter={StaticResource UnwantedDayColorConverter}}">
....
通过Binding,您只能绑定模型类实例的成员
并且您还可以绑定整个实例(当前对象。而不仅仅是其单个属性)
//you can send only instance property (Gender) to the converter
<DataTemplate x:DataType="Models:Human">
<StackPanelHorizontalAlignment="Stretch" Background="{x:Bind Gender, Converter={StaticResource UnwantedDayColorConverter}}">