Windows Forms简单示例显示Radiobutton DataBinding

时间:2009-09-08 19:52:28

标签: c# winforms data-binding

问题适用于Windows窗体数据绑定

假设这是我的自定义类

public class SimpleClass : INotifyPropertyChanged
{

  public Name
  {get; set;}

  char OrderType;
  ...

}

OrderType为采购订单的P,销售订单的S.我是发票等 我需要在Windows窗体上显示为一组radiobuttons

对于文本框,这是数据绑定语法

Binding nameBinding = new Binding("Text", this.SimpleObject, "Name", true);
this.nameTextBox.DataBindings.Add(nameBinding);

如何将OrderType数据绑定到包含三个单选按钮的组合框

2 个答案:

答案 0 :(得分:1)

两个问题:

  1. DataBinding仅适用于属性。如你所知,OrderType是一个字段。
  2. 以这种方式绑定到RadioButton(正如大多数人想要做的那样),不是本机支持的。唯一真正的方法是创建一个控件来管理一个或多个RadioButton并提供SelectedValue(或等效)属性,然后将值绑定到该属性。有几个第三方解决方案,我可以推荐DevExpress控件。

答案 1 :(得分:1)

以下是DataBinding的一组示例,其中一组RadioButtons(作者称之为RadioPanel)的属性支持enum(代替您的char):

RadioPanel: Binding RadioButton Groups to Enumeration Properties

我没试过。

否则,对我有用的是用一些RadioButton创建一个用户控件。关键是在UC上实现INotifyPropertyChanged并使用RadioButtons的CheckedChanged事件来设置与我的UC相关联的属性的值。