【发布时间】:2016-01-20 22:14:35
【问题描述】:
我正在开发一个 Windows 应用商店应用程序,它在整个应用程序中显示特定类型的字段,并允许用户更改他们对显示该类型字段的单位的偏好。
使用与高度相关的字段示例,如果使用 WPF 中的 MultiBinding(在 WinRT 中不可用),我想做这样的事情:
<Page x:Name="Page" ...>
...
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter={StaticResource HeightConverter}>
<Binding Path="HeightInMetres"/>
<Binding Path="HeightDisplayUnit" ElementName="Page"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
....
</Page>
HeightUnit 是英尺、米等的枚举。
HeightDisplayUnit 和 HeightInMetres 保存在不同的视图模型中。
在上面的示例中,HeightDisplayUnit 是 Page 类的属性,HeightInMetres 是 Person 类型的视图模型的属性,它始终被绑定,例如在 ListViews 中使用的 DataTemplates 中。有一个包含 HeightDisplayUnit 的视图模型实例,但有多个 Person 视图模型实例。
在应用程序的各个位置,我可能与我想使用的人绑定 当页面属性 HeightDisplayUnit 或 Person 视图的 HeightInMetres 属性时,任何人都可以想出一种方法来实现触发所有“高度”字段更新的目标 -模型已更新。
【问题讨论】:
标签: windows-runtime windows-store-apps winrt-xaml