代码之家  ›  专栏  ›  技术社区  ›  Joan Venge

如何设置Winforms控件绑定的自定义属性?

  •  3
  • Joan Venge  · 技术社区  · 15 年前

    我用这个:

    [Bindable ( true )]
    public Color OverlayColor { get; set; }
    

    UI会更改,但绑定的数据不会更改。绑定数据的属性名为Color。

    1 回复  |  直到 15 年前
        1
  •  5
  •   Drahakar    12 年前

    据我所知,Bindable属性是将属性添加到当前控件的(DataBindings)下。

    在下面的示例中,我创建了一个数据类,用于绑定并调用ChangeColor()方法来更改颜色。

    public class Data : INotifyPropertyChanged
    {
      Color overlayColor = Color.Teal;
    
      public event PropertyChangedEventHandler PropertyChanged;
    
      public Data()
      {
      }
    
      public Color OverlayColor
      {
        get
        {
          return overlayColor;
        }
        set
        {
          overlayColor = value;
          NotifyPropertyChanged( "OverlayColor" );
        }
      }
    
      public void ChangeColor()
      {
        if ( OverlayColor != Color.Tomato )
          OverlayColor = Color.Tomato;
        else
          OverlayColor = Color.DarkCyan;
      }
    
      private void NotifyPropertyChanged( string propertyName )
      {
        if ( PropertyChanged != null )
          PropertyChanged( this, new PropertyChangedEventArgs( propertyName ) );
      }
    }
    
    推荐文章