多选WPF列表框通过单击进行多项选择

4 silverlight wpf listbox listboxitem

我有一个绑定到数据表的数据绑定多选列表框.当我选择listboxitem时,我希望自动选择同一列表框中的其他listboxitems.我希望只需点击一下即可选择多个项目.我怎样才能做到这一点?我不能在SelectionChanged事件中这样做,因为它导致再次调用同一事件并完全打破我的逻辑.

请帮忙.任何帮助将受到高度赞赏.

更新:

我的列表框已绑定到具有IsSelected列的数据表.我在样式设置器中使用此列的值来选择listboxitem.假设我在datatable中有10行.如果用户选择第二个listboxitem,我可以将数据库中的对应行的isselected选为1.

但是我怎样才能同时选择其他项目呢?我认为肯特说,我宁愿使用属性进行绑定.但是,如何使用属性将列表框绑定到数据表?

Ken*_*art 8

绑定IsSelected到数据类中的属性.更改属性后,执行逻辑以更新IsSelected其他数据对象中的属性:

<ListBox>
    <ListBox.ItemContainerStyle>
        <Style TargetType="ListBoxItem">
            <Setter Property="IsSelected" Value="{Binding IsSelected}"/>
        </Style>
    </ListBox.ItemContainerStyle>
</ListBox>
Run Code Online (Sandbox Code Playgroud)

然后在您的数据类中,您可以使用以下内容:

public bool IsSelected
{
    get { return _isSelected; }
    set
    {
        if (_isSelected != value)
        {
            _isSelected = value;
            OnPropertyChanged("IsSelected");

            UpdateOtherItems();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

或者您可以让数据项引发一个IsSelectedChanged事件,并让拥有类管理选择的相互依赖性.