我一直在研究清单应用程序,并且正在使用 aListBox
来显示数据。我正在使用数组来填充ListBox
基于用户按下的按钮。(我不知道这是否是最佳做法,但它现在有效。)用户完成这些步骤后,他可以使用以下命令删除项目:
private void SendSelected()
{
while (lstToDo.SelectedItems.Count > 0)
{
lstToDo.Items.Remove(lstToDo.SelectedItem);
}
}
问题是今天我学会了如何使用下面的xaml将CheckBox
es添加到我的:ItemTemplate
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox Padding="10">
<CheckBox.LayoutTransform>
<ScaleTransform ScaleX="1" ScaleY="1" />
</CheckBox.LayoutTransform>
</CheckBox>
<TextBlock Text="{Binding}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
现在删除按钮仍然有效......但是我想对其进行调整,以便它删除选中的项目而不是选定的项目。在winforms中,我曾经这样做过:
while (lstToDo.CheckedItems.Count > 0)
{
lstToDo.Items.Remove(lstToDo.CheckedItems[0]);
}
但在 WPF 中,显然这种方法不起作用,我只是不知道为什么。