首页 > 解决方案 > 更改子依赖属性时触发依赖属性更改

问题描述

我有以下课程:

public class dm_fourvalues : DependencyObject
{
    [JsonProperty]
    public double First
    {
        get { return (double)GetValue(FirstProperty); }
        set
        {
            SetValue(FirstProperty, value);
        }
    }
    public static readonly DependencyProperty FirstProperty =
        DependencyProperty.Register("First", typeof(double), typeof(dm_fourvalues),
            new FrameworkPropertyMetadata(1d,
                 FrameworkPropertyMetadataOptions.BindsTwoWayByDefault,
                 new PropertyChangedCallback(OnFirstPropertyChanged)));


    private static void OnFirstPropertyChanged(DependencyObject sender,
                                               DependencyPropertyChangedEventArgs e)
    {
        dm_fourvalues uci = sender as dm_fourvalues;

        if (uci != null)
        {
            uci.OnFirstChanged();
        }
    }
    private void OnFirstChanged()
    {
        Console.WriteLine("first on dm fourvalues changed");
    }

现在如果使用这个类作为另一个对象的相同属性,当第一个属性发生变化时,这个对象的 OnChanged 不会被触发,因此绑定也不起作用。什么定义了父依赖对象已更改?

标签: c#wpfbindingdependency-propertiesdependencyobject

解决方案


推荐阅读