WPF可见性基于全局变量值

时间:2009-09-20 21:32:59

标签: wpf variables visibility

我有一个布尔全局变量,如果管理员已登录并且想要修改列表和组合框的内容,则该变量设置为true。因此,每个组合旁边都会显示一个按钮,以便在单击时显示一个对话框。

如果我没有为WPF编码,我可能会在每个窗口中包含类似于以下内容的某种代码:

如果gAdminEditLists = True则btnUpdateCombo.Visibility = Visible Else btnUpdateCombo.Visibility = Collapsed

在我的WPF应用程序中,我使用的是整个应用程序中使用的按钮的样式,我猜测最好的方法是根据gAdminEditLists变量的值设置样式中按钮的可见性

我能看到这样做的唯一方法是在按钮样式中使用某种转换器,将gAdminEditLists值转换为可见或折叠。

我不太清楚如何继续这个或者这是否是最好的方法,所以任何建议都会受到赞赏。

2 个答案:

答案 0 :(得分:0)

查看System.Windows.Controls命名空间中的BooleanToVisibilityConverter类。

答案 1 :(得分:0)

你的问题是你正在使用全局变量吗?

如果你有一个实现了通知或依赖属性的属性,你就可以了。与全局变量最接近的是app上的属性(我假设你的全局变量)

defining dependency properties on app.xaml,但您可以使用INotifyPropertyChanged。

binding to properties in app.xaml.cs

享受!