Windows 10 UAP - 编译数据绑定

时间:2015-04-05 13:15:46

标签: c# windows xaml binding win-universal-app

根据Windows 10 SDK启动视频(http://www.microsoftvirtualacademy.com/training-courses/a-developers-guide-to-windows-10-preview?prid=ch9courselink),Windows 10通用应用程序平台有一种新类型的绑定称为“编译数据绑定”。

而不是

"{Binding Path=..."

新风格

"{x:Bind Path=..."

然而,这只会引发编译器错误,即放置=后面的任何内容都不存在于上下文中 设置

"{x:Bind Path=DataContext...."

也不起作用。
有没有人设法让新的绑定工作?是否有关于该主题的任何文档,因为我似乎无法找到任何东西(甚至没有你可以“逆转engeneer”的样本......

更新
感谢Nick的回复,我可以添加以下内容:
由于我通常在初始化Page / UserControl之后插入视图模型,因此Page / UserControl似乎没有注意到更新的ViewModel属性(即使Page / UserControl实现并“触发”INotifyPropertyChanged)。 显然,Pages / UserControls中有一个名为Bindings的新字段,可以强制重置所有已编译的数据绑定。

因此,一旦您更改了ViewModel(或x:Bind引用的其他属性),您只需调用:

Binding.UpdateAll()

这样,Page / UserControl会重新评估所有已编译的数据绑定,并接受“数据上下文切换”。

2 个答案:

答案 0 :(得分:8)

希望这会有所帮助 - http://nicksnettravels.builttoroam.com/post/2015/04/26/Compiled-DataBinding-in-Windows-Universal-Applications-(UAP).aspx 这解释了上下文是什么以及如何生成一些编译的绑定

答案 1 :(得分:1)

我只是将这两个链接添加到官方文档中,因为它现在可用,内容似乎与主题相关。

1){x:Bind} markup extension

2){x:Bind} and {Binding} feature comparison