2012-10-24 106 views
0

我做了一個自定義控件(它繼承自UserControl),並且我的控件包含2個屬性(依賴屬性)「Start」和「End」,以及一個我命名爲「BuildGraphic」的方法,它是這個方法創建了我的控件的圖形,問題是當我改變一個屬性的值時,我想調用這個方法來重繪控件,我嘗試過使用「OnRender」,但它是無奈的。 PS:當我在構造函數中調用「BuildGraphic」時,它可以正常工作。更改屬性時更新自定義控件

回答

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(); 
    } 
} 
+0

感謝弗洛裏安,它的工作原理:d –

相關問題