Windows 10 UAP - 已编译的数据绑定
Windows 10 UAP - Compiled Data Bindings
根据 Windows 10 SDK 入门视频 (http://www.microsoftvirtualacademy.com/training-courses/a-developers-guide-to-windows-10-preview?prid=ch9courselink),Windows 10 通用应用程序平台有一种名为 "compiled data bindings" 的新型绑定。
而不是
"{Binding Path=..."
新款式是
"{x:Bind Path=..."
然而,这只会引发编译器错误,即 = 后面的内容在上下文中不存在。
设置
"{x:Bind Path=DataContext...."
也不行。
有没有人设法让新的绑定工作?是否有关于该主题的任何文档,因为我似乎找不到任何东西(甚至没有您可以 "reverse engeneer"...
更新:
感谢 Nick 的回复,我可以添加以下内容:
由于我通常在 Page / UserControl 初始化后插入视图模型,因此 Page / UserControl 似乎没有注意到更新的 ViewModel 属性(即使 Page / UserControl 实现和 "fires" INotifyPropertyChanged)。
显然在 Pages / UserControls 中有一个名为 Bindings 的新字段,它可以强制重置所有已编译的数据绑定。
因此,一旦您更改了 ViewModel(或 x:Bind 引用的另一个 属性),您只需调用:
Binding.UpdateAll()
这样页面/用户控件会重新评估所有已编译的数据绑定并接受 "data context switch"。
希望这对您有所帮助 - http://nicksnettravels.builttoroam.com/post/2015/04/26/Compiled-DataBinding-in-Windows-Universal-Applications-(UAP).aspx
这解释了上下文是什么以及一些编译绑定是如何生成的
我只添加这两个指向官方文档的链接,因为它现在可用并且内容似乎与主题相关。
根据 Windows 10 SDK 入门视频 (http://www.microsoftvirtualacademy.com/training-courses/a-developers-guide-to-windows-10-preview?prid=ch9courselink),Windows 10 通用应用程序平台有一种名为 "compiled data bindings" 的新型绑定。
而不是
"{Binding Path=..."
新款式是
"{x:Bind Path=..."
然而,这只会引发编译器错误,即 = 后面的内容在上下文中不存在。
设置
"{x:Bind Path=DataContext...."
也不行。
有没有人设法让新的绑定工作?是否有关于该主题的任何文档,因为我似乎找不到任何东西(甚至没有您可以 "reverse engeneer"...
更新:
感谢 Nick 的回复,我可以添加以下内容:
由于我通常在 Page / UserControl 初始化后插入视图模型,因此 Page / UserControl 似乎没有注意到更新的 ViewModel 属性(即使 Page / UserControl 实现和 "fires" INotifyPropertyChanged)。
显然在 Pages / UserControls 中有一个名为 Bindings 的新字段,它可以强制重置所有已编译的数据绑定。
因此,一旦您更改了 ViewModel(或 x:Bind 引用的另一个 属性),您只需调用:
Binding.UpdateAll()
这样页面/用户控件会重新评估所有已编译的数据绑定并接受 "data context switch"。
希望这对您有所帮助 - http://nicksnettravels.builttoroam.com/post/2015/04/26/Compiled-DataBinding-in-Windows-Universal-Applications-(UAP).aspx 这解释了上下文是什么以及一些编译绑定是如何生成的
我只添加这两个指向官方文档的链接,因为它现在可用并且内容似乎与主题相关。