C#:阻止用户选择列表框中的某些项目

时间:2014-02-24 15:32:12

标签: c# asp.net listbox

我的列表框中有一组项目。列表框中的项目链接到另一个文本框中的特定项目。用户可以在列表框中添加和删除项目。如果列表框中的任何项目在任何地方使用,则用户应该无法删除它。我可以禁用这些项目,但客户端不想禁用项目我想阻止用户选择某些项目。 我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

真的,你不应该。 ListBox是用于显示您可以选择的内容的UI约定,因此如果您打算违反该约定并显示可以选择或不能选择的内容,您可能会做错事。

你正在使用一个数据源,所以不要只是将它直接粘贴到你想要过滤它的ListBox中(通过删除那些无法选择的东西)到一个不同的集合中,然后可以充当它ItemsSource。然后,您的ListBox仅包含可以选择的内容。

或者,如果失败了,请处理SelectedItem更改并执行某些操作以阻止将其设置为您要禁止的内容之一。但实际上,不要这样做。这将是一个令人困惑和令人困惑的UI体验。只要展示有效的东西。