【发布时间】:2011-04-15 16:31:30
【问题描述】:
我有一个带有标签的控件,我想根据我的控件所有实例的全局菜单项来隐藏或显示该标签。如果我单击按钮隐藏标签,我想隐藏 all 它们。
我的 xaml 看起来像这样:
<TextBlock Name="_label" Visibility="{Binding LabelShown}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
在我的代码后面我有一个属性:
private static Visibility _labelShown;
public static Visibility LabelShown
{
get { return _labelShown; }
set { _labelShown = value; }
}
我设置DataContext = this;
当我更改静态属性时,什么也没有发生。我认为这是因为没有控件收到属性更改通知。我无法在其上实现 INotifyPropertyChanged,因为我无法从我的静态属性中引用非静态属性更改处理程序。
我觉得这可能不是最好的方法,但我真的希望有一个按钮(在我的实际控制之上的许多级别)驱动所有实例的可见性。
【问题讨论】: