1

我正在尝试在 windows phone 中进行自定义控制。我的控件具有名为 Val 的 int 类型的依赖属性。我想添加一个事件,用于 Val 值的任何变化。

我的代码是:

public int Val
        {
            get { return (int)GetValue(ValProperty); }
            set { SetValue(ValProperty,value); }
        }

    public static readonly DependencyProperty ValProperty = DependencyProperty.Register("Val", typeof(int), typeof(CT1), new PropertyMetadata(0, ValPropertyChanged));

    private static void ValPropertyChanged(DependencyObject target, DependencyPropertyChangedEventArgs e)
    {
        ((CT1)target).OnValChanged((int)e.OldValue,(int)e.NewValue);
    }

    protected virtual void OnValChanged(int oldvalue, int newvalue)
    {
        //TODO
    }

我不知道从这里开始。需要帮助。

4

1 回答 1

1

明白了。。应该是这样的。

protected virtual void OnValChanged(int oldvalue, int newvalue)
        {
            if (ValueChanged != null)
                ValueChanged(this, new ValueChangedEventArgs { OldValue = oldvalue, NewValue = newvalue });
        }


        public delegate void ValueChangedEventHandler(object sender, ValueChangedEventArgs e);

        public event ValueChangedEventHandler ValueChanged;
于 2012-05-09T06:18:03.433 回答