Get notified when static property changes in wpf

后端 未结 2 1052
天命终不由人
天命终不由人 2020-12-22 00:54

Here microsoft described that in wpf 4.5 we can use INotifypropertyChanged for static properties as well. So I tried to do that.

Here is the code:

pu         


        
2条回答
  •  不知归路
    2020-12-22 01:28

    Think that you added this to your viewmodel :

      yourClass.StaticPropertyChanged+= yourClassStaticPropertyChanged;
    

    ...

      void yourClassStaticPropertyChanged(object sender, DependencyPropertyChangedEventArgs e)
            {
    
            }
    

    The "this" keyword refers the "object sender" parameter. If you use "this" in your code while creating handler, it refers "sender" in yourClassStaticPropertyChanged function. If you send null, the sender parameter will be null.

    --Edit--

    If you want to get changes to the textbox add this code to your viewmodel :

    private string _updatedText;
    public string UpdatedText
    {
      get
      {
          return _updatedText;
      }
      set
      {
          _updatedText= value;
          OnStaticPropertyChanged("UpdatedText")
      }
    }
    

    And set UpdatedText in the event :

    void yourClassStaticPropertyChanged(object sender, DependencyPropertyChangedEventArgs e)
            {
                    UpdatedText=e.NewValue;
            }
    

    then bind the UpdatedText to your textbox like this :

    
    

提交回复
热议问题