Tin*_*ker 9 c# data-binding winforms
我试图将一些Winform对象绑定到一个自定义类,更具体地说是我在代码中添加到Form中的自定义类的一个实例.C#,. NET 2010 Express.
例如,这是类的片段和UserInfoForm
public class UserInfo
{
[XmlAttribute]
public string name = "DefaultName";
[XmlAttribute]
public bool showTutorial = true;
[XmlAttribute]
public enum onCloseEvent = LastWindowClosedEvent.Exit;
}
public enum LastWindowClosedEvent
{
MainMenu,
Exit,
RunInBackground
}
public partial class Form1 : Form
{
UserInfo userToBind = new UserInfo();
TextBox TB_userName = new TextBox();
CheckBox CB_showTutorial = new CheckBox();
ComboBox DDB_onCloseEvent = new ComboBox();
public Form1()
{
InitializeComponent();
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我想将这些表单控件的值绑定到userToBind中它们各自的值,但是没有运气.我能找到的所有教程都要么过时了(2002年),要么将控件绑定到数据集或其他类型的数据库.
我显然忽视了一些事情,但我还没弄清楚是什么.
非常感谢您分享的任何信息.
更多信息:UserInfo设计为XML友好的,因此可以保存为用户配置文件.UserInfo将包含其他自定义XML类,所有这些类都嵌套在UserInfo下,并且许多控件只需要访问这些子类.
Jul*_*lin 16
您可以使用控件的DataBindings属性(文本框,复选框...)将绑定添加到特定控件.例如:
public Form1()
{
InitializeComponent();
TB_userName.DataBindings.Add("Text", userToBind, "name");
}
Run Code Online (Sandbox Code Playgroud)
此外,IIRC,数据绑定仅适用于属性,因此您首先需要相应地修改您的UserInfo类.此外,如果您希望在代码中修改对象时自动更新UI,则必须在自定义类中实现INotifyPropertyChanged.
| 归档时间: |
|
| 查看次数: |
11832 次 |
| 最近记录: |