私はチェックリスト アプリケーションに取り組んでおりListBox
、データを表示するために を使用しています。ListBox
ユーザーが押すボタンに基づいて、配列を使用してデータを入力しています。(これがベスト プラクティスかどうかはわかりませんが、今のところ問題ありません。) ユーザーが手順を完了すると、次のコマンドでアイテムを削除できます。
private void SendSelected()
{
while (lstToDo.SelectedItems.Count > 0)
{
lstToDo.Items.Remove(lstToDo.SelectedItem);
}
}
問題は、今日、以下の xaml を使用してCheckBox
es を myに追加する方法を学んだことです。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 では、明らかにこの方法は機能しません。その理由はわかりません。