【问题标题】:Update parent whenever a control changes value in WPF每当控件更改 WPF 中的值时更新父级
【发布时间】:2012-02-15 10:12:15
【问题描述】:

用户控件是否可以在用户控件更改值时接收更新?我有一个带有保存按钮的表单,我想在值更改后立即激活它。

目前我正在使用我的视图进行此操作,但我必须在每个属性更改时添加对它的调用。这没问题,但对于编辑框,这意味着用户必须在保存按钮变为活动状态之前离开。

【问题讨论】:

    标签: wpf user-controls


    【解决方案1】:

    如果您将视图绑定到视图模型,那么您可以在视图模型内设置一个标志 IsDirty,每次触发 PropertyChanged 事件时都会设置该标志

        protected void FirePropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            _isDirty = true;
            if(handler != null)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    

    然后用 IsDirty 绑定你的按钮

    【讨论】:

      【解决方案2】:

      最简单的方法是创建一个 IsDirty 布尔属性,该属性在值更改时更改。 将保存按钮的 IsEnabled 属性与 IsDirty 布尔值耦合。

      如果它在你想要解耦的类中,请使用事件/通知。

      【讨论】:

        猜你喜欢
        • 2013-03-24
        • 1970-01-01
        • 2015-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多