gpt4 book ai didi

c# - 多个控件的一个数据源

转载 作者:太空狗 更新时间:2023-10-29 22:23:55 26 4
gpt4 key购买 nike

我的 winforms 应用程序中有两个 ListBox,我为它们分配了一个数据源,如下所示:

private void MakeMeasurementUnits()
{
var units = new List<MeasurementUnit>
{
new MeasurementUnit {Name = "Current", SiUnit = "A"},
new MeasurementUnit {Name = "Voltage", SiUnit = "V"},
new MeasurementUnit {Name = "Time", SiUnit = "s"},
new MeasurementUnit {Name = "Temprature", SiUnit = "°C"}
};

lbxXunit.DataSource = units;
lbxYunit.DataSource = units;
}

奇怪的是(或者可能因为这是我第一次!!),当我点击其中一个列表框的项目时,第二个列表框中的相同项目也被选中。这是默认行为吗?如何防止这种情况?如果这是默认行为,它有什么用?

我发现快速的补救方法是制作两个不同的数据源(同一个东西用另一个名字)

最佳答案

列表框似乎缓存了绑定(bind)源。这是默认行为。如果您想避免这种情况,最简单的方法是创建列表的副本以绑定(bind)到第二个数据源:

lbxXunit.DataSource = units;
lbxYunit.DataSource = units.ToList();

当您对同一数据有多个 View 并希望同步这些项目的选择时,这很有用。

关于c# - 多个控件的一个数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8713218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com