DependencyProperty not triggered

前端 未结 2 990
我在风中等你
我在风中等你 2020-11-30 14:21

I defined property in my usercontrol like this:

 public bool IsSelected 
 {
     get { return (bool)GetValue(IsSelectedProperty); }
     set
     {
                  


        
相关标签:
2条回答
  • 2020-11-30 14:42

    You should use a property changed handler in your dependency property directly. This way you ensure that it gets called when set in XAML:

    public static readonly DependencyProperty IsSelectedProperty =
        DependencyProperty.Register("IsSelected", typeof(bool), typeof(ucMyControl), new PropertyMetadata(false, OnIsSelectedChanged));
    
    private static void OnIsSelectedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        // Implement change logic
    }
    
    0 讨论(0)
  • 2020-11-30 14:51

    The setter of your dependency property will not be called when the property is set in XAML. WPF will instead call the SetValue method directly.

    See MSDN XAML Loading and Dependency Properties for an explanation why the setter is not called.

    You would have to register a PropertyChangedCallback with property metadata.

    0 讨论(0)
提交回复
热议问题