我在 Internet 上看到了很多将 bool 值绑定(bind)到 XAML 中控件的 Visibility 属性的示例。大多数优秀示例都使用 BooleanToVisibiliy 转换器。
我只想将控件上的 Visible 属性设置为绑定(bind)到代码隐藏中的 System.Windows.Visibility 属性,但它似乎不想工作。
这是我的 XAML:
<Grid x:Name="actions" Visibility="{Binding Path=ActionsVisible, UpdateSourceTrigger=PropertyChanged}" />
这是该属性的代码:
private Visibility _actionsVisible;
public Visibility ActionsVisible
{
get
{
return _actionsVisible;
}
set
{
_actionsVisible = value;
}
}
在 Window 的构造函数中,我也有这个调用:
base.DataContext = this;
当我更新 ActionsVisible 或 this.actions.Visibility 时,状态不会转移。对可能出什么问题的任何想法?
最佳答案
我认为问题在于 WPF 无法知道您的 ActionsVisible 属性已更改,因为您没有通知事实。
您的类将需要实现 INotifyPropertyChanged,然后在 ActionsVisible 的 set 方法中,您需要使用 ActionsVisible 作为已更改的属性名称来触发 PropertyChanged 事件。
希望这可以帮助...
关于c# - 将 XAML 中的可见性绑定(bind)到可见性属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/384776/