【发布时间】:2022-01-04 09:20:20
【问题描述】:
在主窗口的 xaml 中创建了一个名为“btnDel”的按钮,默认情况下为“Visibility = false”。 在我的 UserControlRDV.xaml.cs 代码中,我想使用“MainWindow.btnDel.Visibility = true”使该按钮可见。 此处出现错误 CS0120“非静态字段、方法或属性 'MainWindow.btnDel' 需要对象引用?
请帮忙!!
谢谢
【问题讨论】:
-
"在我的 UserControlRDV.xaml.cs 代码中,我想让该按钮可见" - 希望您不会真的这样做。它会使您的控件依赖于使用它的 MainWindow,这是一个明显的设计错误。而是将 Button 的 Visibility 绑定到控件的属性。
-
嘿,您似乎对这个话题不熟悉。让用户控件以您描述的方式直接访问主窗口没有任何意义。用户控件和主窗口不共享相同的范围,因此它们不能像在同一个类中一样相互访问
-
这里典型的 MVVM 方法是将 Button 的 Command 属性绑定到由 MainWindow 和 UserControl 共享的视图模型的 ICommand 属性。
-
好的,你有这个例子吗?谢谢
-
MainWindow.btnDel.Visibility = Visibility.Visiblevisibility 属性不是布尔值。