【问题标题】:Binding controls to specific members of a list (.net, c#, win forms)将控件绑定到列表的特定成员(.net、c#、win 表单)
【发布时间】:2014-04-13 18:18:08
【问题描述】:

这是我的第一篇文章,我对编程很陌生,所以如果这个问题很愚蠢或在其他地方得到回答,我很抱歉。我已经搜索了好几天,但可能根本没有充分掌握术语来找到我的问题。

我试图在一个简单的 winforms 应用程序中找出 .NET 4.5 与 C# 的用法。我有自定义对象(设备)的列表(设备列表)。这些设备中的每一个都包含一个布尔属性(状态)。我想要一个复选框,其选中状态绑定到 deviceList 中每个设备的状态。这可能吗?

据我所知,我可以链接到列表,但是绑定到列表的每个复选框都会显示列表当前成员的状态。

编辑:下面提供的答案 我只需要引用列表中项目的特定索引而不是整个列表。

DataBindings.Add("Checked", items[i], "IsActive");

【问题讨论】:

  • 你能展示一些你目前拥有的代码吗?

标签: c# .net winforms list binding


【解决方案1】:

你使用类似的东西:

myControl.DataBindings.Add("ControlProperty", dataSource, "DataSourceProperty");

将控件绑定到数据源的特定属性。通常情况下,数据源是某种列表,控件表示该列表中当前选定项的指定属性的状态。

数据源不一定是列表。它可以是一个对象,其中DataSourceProperty 是该对象的属性,而不是列表中项目的属性。如果列表中有 N 个项目和 N 个 CheckBoxes,那么您只需将每个 CheckBox 直接绑定到一个项目而不是列表,例如

for (var i = 0; i < items.Length; i++)
{
    checkBoxes[i].DataBindings.Add("Checked", items[i], "IsActive");
}

【讨论】:

    猜你喜欢
    • 2015-02-02
    • 2016-01-06
    • 1970-01-01
    • 2013-10-26
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多