代码之家  ›  专栏  ›  技术社区  ›  Cameron MacFarland

WPF列表框+绑定+IDataErrorInfo=?

  •  3
  • Cameron MacFarland  · 技术社区  · 17 年前

    我有一个WPF MVVM应用程序。在视图中,我有一个多选 ListBox . 在ViewModel中,我有一个列表中选定项的属性。

    this 我可以把我的财产 .

    但我也想通过 IDataErrorInfo . 我只想检查用户是否在列表中选择了至少一个项。添加 ValidatesOnDataErrors=True

    有没有办法让一个多选列表框与IDataErrorInfo数据绑定?

    2 回复  |  直到 9 年前
        1
  •  0
  •   Fanch    11 年前

    如果使用行为将ViewModel的列表与ListBox的选定项绑定,请在添加/删除项之后手动更新绑定:

    var binding = BindingOperations.GetBindingExpression(this, SelectedItemsListBoxBehavior.SelectedItemsProperty);
    if (binding != null)binding.UpdateSource();
    
        2
  •  -1
  •   Robert Vuković    15 年前

     SelectedItem="{Binding FakeSelectedItem, ValidatesOnDataErrors=True}"
    

    然后在该属性更改时进行验证。

    附言
    对于绑定,我使用这个解决方案 MVVM Multiselect Listbox

    推荐文章