1 回答
TA贡献2039条经验 获得超7个赞
像往常一样定义一个事件(如果有意义的话,可以将其定义为路由事件),然后在引发该事件的地方注册一个依赖属性回调。像这样的东西:
public event EventHandler ValueChanged;
public double Value
{
get { return (double)GetValue(ValueProperty); }
set { SetValue(ValueProperty, value); }
}
public static readonly DependencyProperty ValueProperty =
DependencyProperty.Register("Value", typeof(double), typeof(SpeedoMeter), new PropertyMetadata(0.0,
OnChanged,
OnCoerceValueChanged));
private static void OnChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
SpeedoMeter speedoMeter = (SpeedoMeter)d;
EventHandler handler = speedoMeter.ValueChanged;
if (handler != null)
{
handler(speedoMeter, EventArgs.Empty);
}
}
显然,您可以随意命名您的活动和财产。例如,如果您拥有Value财产并想要举办ValueChanged活动,您可以从类似RangeBase或类似的事物中获得。这只是当依赖项属性更改时如何引发自定义事件的示例。
- 1 回答
- 0 关注
- 105 浏览
添加回答
举报