0
我做了一個自定義控件(它繼承自UserControl),並且我的控件包含2個屬性(依賴屬性)「Start」和「End」,以及一個我命名爲「BuildGraphic」的方法,它是這個方法創建了我的控件的圖形,問題是當我改變一個屬性的值時,我想調用這個方法來重繪控件,我嘗試過使用「OnRender」,但它是無奈的。 PS:當我在構造函數中調用「BuildGraphic」時,它可以正常工作。更改屬性時更新自定義控件
我做了一個自定義控件(它繼承自UserControl),並且我的控件包含2個屬性(依賴屬性)「Start」和「End」,以及一個我命名爲「BuildGraphic」的方法,它是這個方法創建了我的控件的圖形,問題是當我改變一個屬性的值時,我想調用這個方法來重繪控件,我嘗試過使用「OnRender」,但它是無奈的。 PS:當我在構造函數中調用「BuildGraphic」時,它可以正常工作。更改屬性時更新自定義控件
使用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();
}
}
感謝弗洛裏安,它的工作原理:d –