C# 扩展选择列表绑定问题

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

我的视图中有一个列表框。我已将选择模式设置为扩展模式,以便用户可以按ctrl键和multiselect listbox项。我的listbox项具有IsSelected属性,我希望在选择项时将其设置为true,在取消选择项时将其设置为false。这是我的代码

 <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>

......
......