我创建了一个通用 WPF 控件,因此布局全部在代码中定义。这一切都很好,我添加了第一次工作的绑定(bind),例如:
private bool btEnabled { get { return SOME_LOGIC; } }
Button bt = new Button { Content = "Button" };
bt.SetBinding(Button.IsEnabledProperty, new Binding { Source = btEnabled, Mode = BindingMode.OneWay });
每当发生影响 btEnabled 属性的事情时,我都会调用 INotifyPropertyChanged 但 PropertyChanged 事件始终为 null,我无法弄清楚为什么绑定(bind)没有注册 PropertyChanged 事件。
有什么想法吗?
谢谢
最佳答案
我看到 btEnabled
是一个属性,太私密了!
所以大概有两个错误...
您的 Binding
应该设置 Path="btEnabled"
而不是 Source=btEnabled
并且您的 btEnabled 属性应该是公开的。
关于c# - WPF UserControl 在代码中创建,绑定(bind)未注册 INotifyPropertyChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7347507/