修改另一个类的依赖项属性

本文关键字:属性 依赖 另一个 修改 | 更新日期: 2023-09-27 18:33:25

我目前有以下内容:

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 的值。

修改另一个类的依赖项属性

就像每个类实例的任何其他类属性一样。

MainWindow window = new MainWindow();
window.IsCopyEnabled = !window.IsCopyEnabled;

由于您已为主窗口注册了 DP,因此也可以执行此操作

Application.Current.MainWindow.IsCopyEnabled = !Application.Current.MainWindow.IsCopyEnabled;

SetValue 是一个公共方法。如果您有对目标对象的引用,则可以从另一个类调用它:

Button button = new Button();
button.SetValue(Button.IsEnabledProperty, !(bool)button.GetValue(Button.IsEnabledProperty));