我目前有以下内容:
public static readonly DependencyProperty IsCopyEnabledProperty =
DependencyProperty.Register(
"IsCopyEnabled",
typeof(bool),
typeof(MainWindow));
public bool IsCopyEnabled
{
get { return (bool)GetValue(IsCopyEnabledProperty); }
set { SetValue(IsCopyEnabledProperty, value); }
}
我已将此限制为我创建的按钮,以确定是应启用还是禁用它。我通常调用以下内容来从声明的类中更改IsCopyEnabled的值:
IsCopyEnabled = !IsCopyEnabled;
我想知道如何在另一个类(相同的命名空间)中更改IsCopyEnabled的值。
答案 0 :(得分:0)
与每个类实例的任何其他类属性一样。
MainWindow window = new MainWindow();
window.IsCopyEnabled = !window.IsCopyEnabled;
因为你已经为MainWindow注册了DP,所以你也可以这样做
Application.Current.MainWindow.IsCopyEnabled = !Application.Current.MainWindow.IsCopyEnabled;
答案 1 :(得分:0)
SetValue是一种公共方法。如果你有对目标对象的引用,你可以从另一个类调用它:
Button button = new Button();
button.SetValue(Button.IsEnabledProperty, !(bool)button.GetValue(Button.IsEnabledProperty));