【问题标题】:databinding to get only properties. UI update. BindingSource数据绑定以仅获取属性。用户界面更新。绑定源
【发布时间】:2010-11-18 11:35:05
【问题描述】:

我绑定到类'只获取属性(例如)

    public bool IsRunning
    {
     get 
      {
         return myThread!=null && myThread.IsAlive;
      }
    }

使用绑定源。绑定到它的控件不会反映仅获取属性的更改。 我以为我可以实现 INotifyPropertyChanged 接口,但这似乎只适用于 setter (因为您需要在该属性更改时手动引发 PropertyChanged 事件)。
现在我有愚蠢的计时器正在运行并轮询更改。我可以做些什么来自动化控件(或绑定源)以动态反映属性值?

【问题讨论】:

    标签: .net data-binding


    【解决方案1】:

    继续实现 INotifyPropertyChanged,但在线程启动和终止时引发事件 即:

    bool _isRunning;
    bool IsRunning{
    get{return _isRunning;}
    set{
      _isRunning=value;
      Dispatcher.BeginInvoke(new Action(()=>PropertyChanged(this,new PropertyChangedEventArgs("IsRunning"))));
    }
    
    void foo(){
     myThread=new Thread(doWork).Start();
    }
    
    void doWork(){
      IsRunning=true;
      try{
        // stuff
      }finally{
        IsRunning=false;
      }
    }
    

    【讨论】:

    猜你喜欢
    • 2012-08-29
    • 2015-12-20
    • 2013-04-23
    • 2013-12-14
    • 2014-09-08
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 2011-02-04
    相关资源
    最近更新 更多