检测Win8 Metro Style应用程序中的视觉状态更改并基于此更改数据绑定

时间:2013-02-12 02:27:18

标签: c# xaml microsoft-metro winrt-xaml

我不确定我是否以错误的方式执行此操作,我尝试找到一种方法来手动更改基于Visual State的数据绑定到UI,例如,如果Snapped,UI将使用部分数据源有选择地或只是使用一组新的数据,但我想保持整洁,所以我真的不想同时维护2套。

有没有办法检测视觉状态变化?或者我应该找到不同的方法吗?

1 个答案:

答案 0 :(得分:2)

网格应用程序模板中的GroupedItemsPage构造函数中的以下代码行演示了放置自定义绑定代码的位置。这个简单的示例显示应用程序的当前VisualState以响应CurrentStateChanged事件:

ApplicationViewStates.CurrentStateChanged += (s, e) => pageTitle.Text = e.NewState.Name;

您还可以点击OrientationChanged,了解您引用的更具体的Snapped案例

DisplayProperties.OrientationChanged += (s) => pageTitle.Text = DisplayProperties.CurrentOrientation.ToString();