xaml如何绑定列表框的多个选中项
How to bind the multiple selected items of list box in xaml
我有 Flags 枚举值,我已将其绑定到列表框的项目源中。我使用 SelectionMode
作为多个。我想将列表框的所有选定项目分配给标志枚举 属性。如何绑定选中的项目?
private void ListBox_SelectionChanged(object sender,SelectionChangedEventArgs e)
{
ListBox list = sender as ListBox;
this.Weekdays=list.SelectedItems.GetType().GetEnumValues().GetEnumerator()
as Weekdays;
}
这里的 weekdays 是 Weekdays.I 类型的 Flags-Enum,希望将列表框的所有选定项目绑定到 Weekdays。
下面的代码就是您所需要的!如果选择多选模式,list.SelectedItems 包含所有选中的项目。您可以在列表的选择更改事件期间跟踪它们。您不能将值分配给枚举,而是创建一个列表并使用该列表使用与列表源相同的数据 class 来存储所选项目。
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]);
}
}
我有 Flags 枚举值,我已将其绑定到列表框的项目源中。我使用 SelectionMode
作为多个。我想将列表框的所有选定项目分配给标志枚举 属性。如何绑定选中的项目?
private void ListBox_SelectionChanged(object sender,SelectionChangedEventArgs e)
{
ListBox list = sender as ListBox;
this.Weekdays=list.SelectedItems.GetType().GetEnumValues().GetEnumerator()
as Weekdays;
}
这里的 weekdays 是 Weekdays.I 类型的 Flags-Enum,希望将列表框的所有选定项目绑定到 Weekdays。
下面的代码就是您所需要的!如果选择多选模式,list.SelectedItems 包含所有选中的项目。您可以在列表的选择更改事件期间跟踪它们。您不能将值分配给枚举,而是创建一个列表并使用该列表使用与列表源相同的数据 class 来存储所选项目。
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]);
}
}