【发布时间】:2012-06-20 00:48:08
【问题描述】:
我在 XAML 页面中使用此代码:
<TextBox ItemsSource="{Binding Posters, Converter={StaticResource collectionToFirstElementConverter}, Mode=TwoWay}" />
Posters 是一个 ObsevableCollection,我正在使用一个转换器来获取集合并获取它的第一个元素。
当我使用异步过程时,文本框接收对象,这个没有元素 (Count=0),并调用转换器。
我试图在每次属性添加新元素时更新文本框,但不调用转换器。
我记得在 Silverlight 或 WPF 中,存在 SourceTrigger 或 UpdatePropertyChanged,但在 WinRT 中我看不到这种模式。
【问题讨论】:
-
为什么不为数据上下文中的第一个元素公开一个属性?
-
问题是我正在使用异步.. 所以当文本框尝试加载该属性时,它会变为空!所以我需要一种方法来让元素告诉 UI 刷新属性
-
为什么不在异步操作完成时触发 OnChanged 事件(我认为这是事件名称)?
-
不,我没有找到那个事件。实际上,我需要一些方法来刷新或更新代码以来的 UI。
标签: c# xaml windows-runtime microsoft-metro winrt-xaml