2014-02-24 80 views
-1

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

+0

什么在你的listBox?你是如何填充你的列表框的?它只包含字符串吗?或者你在使用数据源? –

+0

XAML或Windows Forms? –

+0

我正在使用数据源。在将数据填充到数据源之前,我将能够知道哪些项目可以填充。 –

回答

1

真的,你不应该。 A ListBox是一个用于显示可以选择的东西的UI约定,因此如果您打算打破该约定并显示可以选择或不能选择的组合,那么您可能会做错事情。

您使用的数据源,所以不是仅仅坚持直接进入你的ListBox要筛选它(通过删除不能选择的东西)转换成不同的集合,然后可以充当ItemsSource。那么你的ListBox只包含可以选择的东西。

或者,如果没有,请处理SelectedItem更改,并采取措施阻止它被设置为您想禁止的其中一项。但是,真的,不要这样做。这将是一个可怕的和令人困惑的UI体验。只要显示有效的东西。

相关问题