C# 如何在windows 8.1的listView中获取多个选中复选框?
我用C#开发了一个Windows 8.1应用程序。现在我已经创建了一个textblock,当用户点击它时,我会打开一个弹出按钮,其中包含ListView,selectionMode为Multiple。现在,listview数据模板包含复选框,我正在向用户显示它,但我不知道如何让用户选中多个复选框,并用逗号分隔填充所有选中的项。下面是我的ListView数据模板C# 如何在windows 8.1的listView中获取多个选中复选框?,c#,windows-8.1,C#,Windows 8.1,我用C#开发了一个Windows 8.1应用程序。现在我已经创建了一个textblock,当用户点击它时,我会打开一个弹出按钮,其中包含ListView,selectionMode为Multiple。现在,listview数据模板包含复选框,我正在向用户显示它,但我不知道如何让用户选中多个复选框,并用逗号分隔填充所有选中的项。下面是我的ListView数据模板 <DataTemplate x:Key="defaultSelectListItemTemplate"> <S
<DataTemplate x:Key="defaultSelectListItemTemplate">
<StackPanel>
<TextBlock Content="{Binding Value}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Margin="12,0,0,0"
Foreground="Black"/>
</StackPanel>
</DataTemplate>
请建议,如何在此处使用CheckBox.IsChecked属性获取所选项目并在textblock中显示
更新
myList.SelectionChanged += (sender1, args1) =>
{
List<ILOOKUP> selectedLookup = lookupList.SelectedItems.OfType<ILOOKUP>().ToList();
textBlock.Text=string.Join(",", selectedLookup.Select(lookup => lookup.I_LU_ANSWER).ToList());
checkBoxFlyout.Hide();
};
myList.SelectionChanged+=(发送者1,args1)=>
{
List selectedLookup=lookupList.SelectedItems.OfType().ToList();
textBlock.Text=string.Join(“,”,selectedLookup.Select(lookup=>lookup.I\u LU\u ANSWER.ToList());
checkBoxFlyout.Hide();
};
ListView在ItemContainerStyle中已经有复选框,因此您不应该在DataTemplate中使用其他复选框。相反,您应该重新模板ItemContainerStyle使此复选框突出,以获取所选项目MyListBox。SelectedItems
<ListView x:Name="MyListBox" SelectionMode="Multiple" SelectionChanged="OnSelectionChanged">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
是的,我也尝试过不添加复选框,但在什么事件中我可以获得ListView。SelectedItems?Wire up SelectionChanged event我这样做了,但只使用了一个项目,而不是多个项目。将此SelectionMode=“Multiple”添加到ListView我已经这样做了。请检查我更新的selectionChanged事件代码。