我有一个wpf wpplication,里面有许多用户控件。 其中一个控件具有一个名为 ButtonsEnabled
的属性。 这是用户控件中的布尔依赖项属性。 该属性绑定到该控件上几个按钮的 IsEnabled 属性。
此用户控件在MainWindow
中使用。 该MainWindow
有几个视图模型对象,称为 EocMonitor
和 ComMonitor
。 它们都源自实现INotifyPropertyChanged
的抽象基类。 UserControl 上的 ButtonsEnabled
属性使用多重绑定和实现我编写IMultiConverter
的类绑定到 Status
属性。
问题是,即使 Status
属性更改时引发 PropertyChanged 事件,IMultiConverter 在最初调用后也不会被调用,因此 ButtonsEnabled
属性的值不会更改。 因此,按钮未启用。
我需要做什么才能完成这项工作?
我对此进行了最终运行,因为在我们达到此版本的代码冻结之前,我的时间已经不多了。 我所做的是向MainWindow
类添加一个ButtonsEnabled
DepdendencyProperty
,并将其绑定到用户控件的ButtonsEnabled
属性。 然后,我在 MainWindow 中添加了一个 PropertyChanged
事件处理程序,并在创建 DbMonitor
和 ComMonitor
对象时将其注册。 然后,我在 PropertyChanged
事件处理程序中编写了代码以正确设置MainWindow
的ButtonsEnabled
。
一切正常,我会担心在以后的某个时间使另一种方法起作用。 或。