我希望当用户选择一个或多个项目时我的源属性会得到更新。我尝试过使用绑定(bind)模式 OneWayToSource 但这没有帮助。下面是 XAML 和 ViewModel 代码:
<ListBox x:Name="ItemsListBox" SelectionMode="Multiple" Height="300"
ItemsSource="{Binding ResultSet}"
SelectedItem="{Binding SelectedItems,Mode=OneWayToSource}">
private List<string> _selectedItems;
public List<string> SelectedItems
{
get
{
return _selectedItems;
}
set
{
_selectedModeItems = value;
NotifyPropertyChanged("SelectedItems");
}
}
我已经采用了使用附加行为的方法并且它有效,但是有没有更简单的方法?
最佳答案
你的问题应该是这样的。
How to get multiple selected items from the ListBox in WPF with MVVM?
好吧,您可以从以下 stackoverflow 线程中得到答案。
您只需在 ResultSet View 模型中定义 IsSelected
属性即可。然后,如果您想在任何时候获取选定的项目,只需从 ResultSet 中获取“IsSelected”属性设置为 true 的项目即可。
关于c# - 如何将列表框选定的项目分配给源属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15268643/