【问题标题】:When I set the ListBox SelectionMode to "None", it doesn't react to DataSource changes当我将 ListBox SelectionMode 设置为“None”时,它不会对 DataSource 更改做出反应
【发布时间】:2015-07-20 10:55:25
【问题描述】:

在寻找答案时,我发现这是 VS 中的一个旧“错误”!(?)我正在使用 VS2013。我根本不相信他们没有纠正它,所以我不得不认为这是故意的,或者我做的不对……

我想用 ListBox 来显示一些简单的结果。我希望该列表是只读的,项目不可选择等等。只是显示一个简单的结果数组。

我使用一个数组作为数据源 (lstBox.DataSource = somearray;),我通过将 DataSource 设置为 null 来更新它,然后返回到 somearray。问题是 - 如果我将 listBox SelectionMode 设置为“none”,列表会卡住并且不再刷新。我无法刷新它。如果我将列表设置为“禁用”,它会正确显示结果,它不可选择,无论 SelectionMode 说什么,但它都是灰色的......对此有什么帮助吗?

附言根据我的阅读,即使将数据源设置为 BindingList 或 BindingSource 也不能解决这个问题......

【问题讨论】:

标签: c# listbox


【解决方案1】:

WPF 中的选择模式does not have a None value。 (虽然it had in WinForms)

在 WPF 中,如果要在不允许选择的情况下显示项目,则应使用 ItemsControl 类而不是 ListBox。

但通过阅读您的问题,我不确定您使用的是 WPF 还是 WinForms。

【讨论】:

  • WinForms,是的,仍然有可能在 Forms 中将选择设置为无...遗憾的是我没有使用 WPF,但我越来越多地看到它在学习 c# 时的优势...
  • 那么你应该从你的问题中删除 wpf 标签
【解决方案2】:

我通过在“formclosure”事件中将选择模式设置为“One”来解决此问题。

【讨论】:

  • 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。
猜你喜欢
  • 2015-04-19
  • 1970-01-01
  • 2010-12-09
  • 2020-03-12
  • 1970-01-01
  • 2021-02-04
  • 2015-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多