根据另一个控件的visualstate设置Visibility

时间:2015-04-01 10:53:41

标签: winrt-xaml win-universal-app visualstatemanager

是否可以根据另一个控件的可视状态设置Grid或其他元素的可见性?我刚刚开始围绕VisualStateManager概念(已经发现样式触发器无法在通用应用程序中使用),但如果可以这样做,或者无法解决这个问题。不。

在我的特定情况下,如果当前选择了ListView中的特定项目/索引,我是否能够设置一个或多个元素的可见性?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:0)

我会在viewmodel的属性中维护ListView选择,并将Grid.Visibility绑定到该属性。您需要IValueConverter将所选项目的数据类型转换为System.Windows.Visibility,这是Grid.Visibility绑定所必需的。

如果确定可见性的逻辑更复杂,例如需要应用程序状态,您可以向viewmodel添加属性bool IsImportantItemSelected并将Grid.Visibility绑定到此属性。此方法允许您将复杂逻辑保留在viewmodel中。您需要再次IValueConverter才能从bool转换为System.Windows.Visibility