如何在xaml中绑定列表框的多个选定项

时间:2016-05-08 07:02:57

标签: wpf xaml listbox listboxitems enum-flags

我有Flags枚举值,我已绑定到列表框的项目源。我使用SelectionMode作为倍数。我想将列表框中的所有选定项目分配给标志枚举属性。如何绑定所选项目?

private void ListBox_SelectionChanged(object sender,SelectionChangedEventArgs e)
{
    ListBox list = sender as ListBox;

    this.Weekdays=list.SelectedItems.GetType().GetEnumValues().GetEnumerator()      
                                                    as Weekdays;

}

这里的工作日是工作日类型的Flags-Enum。我想将列表框的所有选定项目绑定到工作日。

1 个答案:

答案 0 :(得分:1)

以下代码就是您所需要的!如果选择了多个选择模式, list.SelectedItems 包含所有选定的项目。您可以在选择更改列表事件期间跟踪它们。您不能将值分配给枚举,而是创建列表并使用该列表使用与列表源相同的数据类来存储所选项目。

private List<DataClass> SelectedItemsList = new List<DataClass>();

if (list.SelectedItems.Count >= 0)
{
    for (int i = 0; i < list.SelectedItems.Count; i++)
    {
        SelectedItemsList.Add(list.SelectedIndices[i]);
    }
}