验证ListBoxItem而不是ListBox

时间:2012-11-19 15:49:54

标签: c# wpf validation listbox

我有一个ListBox绑定到实现IDataErrorInfo的对象列表。我在ListBox上将ValidatesOnDataErrors属性设置为True。如果我选择了无效的项目,我的ListBox周围会出现一个红色边框。如何修改我的ItemContainerStyle,使红色边框显示在所选项目周围而不是实际的ListBox?

1 个答案:

答案 0 :(得分:2)

您可以直接在ListBox的ItemTemplate中设置ValidatesOnDataErrors,在Binding上将绑定项的属性绑定到显示它的控件。这应该会使红色边框显示在相关控件周围。除此之外,如果边框仍然在ListBox上显示为整体,则可以在ListBox上设置Validation.ErrorTemplate =“{x:Null}”。

如果您不希望边框显示在ItemTemplate中的一个控件周围,但是围绕整个Item,您可以尝试设置Listboxes ItemBindingGroup。