根据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会重新评估所有已编译的数据绑定,并接受“数据上下文切换”。
答案 0 :(得分:8)
希望这会有所帮助 - http://nicksnettravels.builttoroam.com/post/2015/04/26/Compiled-DataBinding-in-Windows-Universal-Applications-(UAP).aspx 这解释了上下文是什么以及如何生成一些编译的绑定
答案 1 :(得分:1)
我只是将这两个链接添加到官方文档中,因为它现在可用,内容似乎与主题相关。