更改属性时刷新自定义控件

时间:2012-10-24 16:19:30

标签: wpf xaml custom-controls

我创建了一个自定义控件(它继承自UserControl),我的控件包含2个属性(依赖属性)“开始”和“结束”,以及一个名为“BuildGraphic”的方法,它是创建图形的方法我的控制,问题是,当我更改属性的值时,我想调用此方法来重绘控件,我尝试使用“OnRender”,但它无助。 PS:当我在构造函数中调用“BuildGraphic”时,它可以正常工作。

1 个答案:

答案 0 :(得分:0)

使用PropertyChangedCallback来调用方法:

public static readonly DependencyProperty StartProperty = DependencyProperty.Register("Start", typeof(proptype), typeof(MyUserControl), new PropertyMetadata(DefaultValue, OnStartPropertyChanged));

private static void OnStartPropertyChanged(DependencyObject dependencyObject, 
           DependencyPropertyChangedEventArgs e) 
{  
    if (dependencyObject is MyUserControl)
    {
        ((MyUserControl)dependencyObject).BuildGraph();
    }
}