我重新设计了一个ListBox来从这个link
创建一个RadioButtonList我的要求是这样的:我必须一次从ListBox中选择一个项目(即单选择模式)。另外,我必须根据绑定到集合的属性禁用/启用ListBoxItem。所以我已经设置了
IsChecked="{TemplateBinding IsSelected}"
并绑定我的集合中的 IsEnabled 属性。
IsEnabled="{Binding IsEnabled}"
结果如下:
您可以看到某些记录处于禁用状态,但仍然可以选择。如果我删除 IsChecked 属性,它会按预期完美地运行。但我需要 IsEnabled & IsSelected functionlaity。 然后我为IsEnabled属性创建一个多值转换器,并根据值将相应的值绑定到属性。 现在我无法直观地从列表中选择禁用的项目。但是当我选择一个禁用的项目时,我会丢失选择。请检查图像:
并在 IsChecked 属性后面的代码中设置为第一条记录。 我想限制这个选择。我怎样才能做到这一点?在xaml中有任何设置有助于满足我的要求吗?请建议......
提前致谢....
答案 0 :(得分:1)
听起来你绑定了IsEnabled
的{{1}}属性,而不是RadioButton
。这会禁用ListBoxItem
,但不会停用RadioButton
,这就是为什么它仍然可以被选中。
您应该能够绑定ListBoxItem
的{{1}}属性,它将按照您想要的方式工作。
根据您发布的链接转到您正在使用的样式,该链接位于IsEnabled
样式的ListBoxItem
部分:
ItemContainerStyle