如何以编程方式将按钮的可见性绑定到C#中的INotifyPropertyChanged布尔属性?
以下是我到目前为止的收获:如何以编程方式将按钮的可见性绑定到C#中的INotifyPropertyChanged布尔属性?,c#,wpf,C#,Wpf,以下是我到目前为止的收获: System.Windows.Data.Binding binding = new System.Windows.Data.Binding("MyProperty"); binding.Mode = System.Windows.Data.BindingMode.TwoWay; binding.Converter = new System.Windows.Controls.BooleanToVisibilityConverter(); binding.Source
System.Windows.Data.Binding binding = new System.Windows.Data.Binding("MyProperty");
binding.Mode = System.Windows.Data.BindingMode.TwoWay;
binding.Converter = new System.Windows.Controls.BooleanToVisibilityConverter();
binding.Source = mySourceObject;
this.SetBinding(this.myButton.Visibility, binding);
但是可见性不是一个依赖属性,所以我如何才能做到这一点呢?您应该能够做到
Button.VisibilityProperty
而不是
this.myButton.Visibility
您需要传入静态可见性依赖项属性本身(它继承自
UIElement
),而不是按钮实例上的属性值,例如:
myButton.SetBinding(UIElement.VisibilityProperty, binding);
根据,
Visibility
当然是一个dependencProperty
。我在通过XAML之前绑定了按钮的可见性,所以您应该能够在代码隐藏中。我注意到第一行有一个拼写错误,是在你的代码中还是仅仅在帖子中?它应该是新的System.Windows.Data.Binding你有没有n的出价。这很好,但它怎么知道目标是什么。。。如果它只是一个普通按钮。VisibilityProperty。。它如何知道使用我的特定按钮?因为myButton应该设置proeProperty:this.myButton.SetValue(UIElement.VisibilityProperty,binding);我想你指的是myButton.SetBinding(Button.VisibilityProperty,binding);