C# 扩展选择列表绑定问题
我的视图中有一个列表框。我已将选择模式设置为扩展模式,以便用户可以按ctrl键和multiselect listbox项。我的listbox项具有IsSelected属性,我希望在选择项时将其设置为true,在取消选择项时将其设置为false。这是我的代码C# 扩展选择列表绑定问题,c#,wpf,mvvm,listbox,C#,Wpf,Mvvm,Listbox,我的视图中有一个列表框。我已将选择模式设置为扩展模式,以便用户可以按ctrl键和multiselect listbox项。我的listbox项具有IsSelected属性,我希望在选择项时将其设置为true,在取消选择项时将其设置为false。这是我的代码 <ListBox ItemsSource="{Binding ItemsList}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}" Sel
<ListBox ItemsSource="{Binding ItemsList}"
SelectedItem="{Binding SelectedItem, Mode=TwoWay}"
SelectionMode="Extended">
public ObservableCollection<Item> ItemsList
{
get;
set;
}
public class Item
{
public bool IsSelected
{
get;
set;
}
}
public Item SelectedItem
{
get
{
return _selectedItem;
}
set
{
_selectedItem=value;
_selectedItem.IsSelected=true;
}
}
公共可观测收集项目列表
{
得到;
设置
}
公共类项目
{
公选学校
{
得到;
设置
}
}
公共项目选择项
{
得到
{
返回_selectedItem;
}
设置
{
_选择editem=值;
_selectedItem.IsSelected=true;
}
}
isSelected在单个选择的情况下变为true,但不适用于多个选择,同时请建议如何在取消选择时将其设置为false。Iam使用MVVM。是否可以使用style完成 您可以使用样式设置器将
ListBoxItem
的IsSelected
属性绑定到Item
的IsSelected
属性:
<ListBox ItemsSource="{Binding ItemsList}"
SelectedItem="{Binding SelectedItem, Mode=TwoWay}"
SelectionMode="Extended">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="IsSelected" Value="{Binding IsSelected}"/>
</Style>
</ListBox.ItemContainerStyle>
......
......
</ListBox>
......
......