Jer*_*xon 11 data-binding windows-8 winrt-xaml
在WPF中,只要用户通过利用UpdateSourceTrigger对数据进行任何更改,我们就可以更新基础数据模型,如下所示:
<TextBox Text="{Binding Path=TextProperty, UpdateSourceTrigger=PropertyChanged}"/>
Run Code Online (Sandbox Code Playgroud)
在Window Phone中,UpdateSourceTrigger未包含在XAML规范中,为了完成相同的操作,需要使用TextChanged处理程序,如下所示:
(sender as TextBox).GetBindingExpression(TextBox.TextProperty).UpdateSource();
Run Code Online (Sandbox Code Playgroud)
在Windows 8中,我假设UpdateSourceTrigger也会被省略 - 我是对的.但是,我很惊讶地发现GetBindingExpression()也缺失了.
在Windows 8中,使用UpdateSourceTrigger在WPF中完成了什么,在使用GetBindingExpression()的Windows Phone中完成了什么是最好的技术.UpdateSource()?
请注意:这个问题适用于Windows 8(Metro)开发; 另一个问题(Windows Phone 7 TextBox的"UpdateSourceTrigger = PropertyChanged"等效)用于Windows Phone开发 - 不要混淆.
作为研究,这个例子(我创建的)使用TextBox覆盖来交换导致更新的两个属性之间的文本值.它基于此.但是,有更好的方法吗?优雅的东西?
似乎没有GetBindingExpression或等效的解决方法.但是,您可以像这样扩展TextBox:https://mytoolkit.svn.codeplex.com/svn/WinRT/Controls/ExtendedTextBox.cs
这仍然没有解决问题......(真的很难过)
也可以看看:
| 归档时间: |
|
| 查看次数: |
8946 次 |
| 最近记录: |