在Windows 8中基于可视状态替换XAML绑定

时间:2012-10-02 21:44:55

标签: xaml binding windows-8 windows-runtime

我使用VisualStateManager-Element根据当前的Visual State重新定位页面上的一些XAML元素。 我的问题是我使用gridview,当窗口被捕捉时必须成为列表视图(因为剩下小的水平空间)。我将一些其他元素绑定到gridview的selectedItem属性。我的第一种方法是创建一个列表视图并根据视觉状态显示/隐藏它。我还需要更新我的其他元素的绑定(从gridView.selectedItem到listView.selectedItem),这在visualstatemanager中显然是不可能的。另一种可能性是改变后面代码的绑定。 是否有其他解决方案(最好是XAML)?

1 个答案:

答案 0 :(得分:0)

我认为普遍接受的答案是每个视觉状态应该有一块xaml。您将折叠当前未使用的那个。如果要执行需要动态数量的绑定或类似操作的操作,则只能手动进行更改或创建绑定。在这种情况下,您有一组固定的绑定到一组已知的UI元素,因此您只需在xaml中设置所有绑定。