x:绑定和绑定之间的区别

时间:2016-09-13 07:12:38

标签: c# xaml data-binding

当我使用x绑定数据时:在我的xaml中绑定它可以工作,但是当使用Binding代替x:Bind执行相同的代码时,它不会。为什么会这样?我已经阅读了他们的不同之处,说一个是运行时和其他编译时间以及类似的东西,但这根本没有帮助。任何人都可以在实际水平上帮助我吗?

1 个答案:

答案 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}}">