クラスListBox
のコレクションにバインドされたデータがあります。PersonCollection
次に、タイプ のオブジェクトのデータ テンプレートを定義しました。データ テンプレートは、人物の名前用の とリストから人物を削除するを含むPerson
で構成されています。まとめてとても素敵に見えます。DockPanel
TextBlock
Button
私が直面している問題は、データ テンプレートで定義されたボタンをクリックしたときに、リスト ボックスで選択した項目に到達 (および削除) できないことです。ボタンのハンドラーは次のとおりです。
private void RemovePersonButton_Click(object sender, RoutedEventArgs e)
{
Button clickedButton = (Button)e.Source;
DockPanel buttonPanel = (DockPanel)clickedButton.Parent;
Control control = (Control)button.Parent;
}
最後に作成されたオブジェクトcontrol
は ですnull
。つまり、要素ツリーをさらに上に進むことができないため、リストとそのSelectedItem
. ここで注意すべき重要なことは、ウィンドウに複数のリストがあり、それらすべてのリストが同じデータ テンプレートを実装している、つまり、削除ボタン。
私が得ることができるすべての助けに感謝します。ありがとう。