1

バインディング全般に関する私の質問に続いて、次のシナリオについて助けを求めたいと思います。

ListBoxコントロールのDataTemplateを介して表示されるオブジェクトのコレクション(imageFileData)があります。コントロールはObservableCollectionにバインドされています。コレクションとテンプレートの両方が、アプリケーションのxamlファイルとxaml.csファイル内で定義されています。コレクションへのアイテムの動的な追加は期待どおりに機能し、リストボックスに新しいテンプレートアイテムを表示します。良い。

私がやりたいことの1つは、DataTemplateで定義されたボタンをクリックして、コレクションから特定のアイテムを削除することです。ボタンのクリックハンドラーを定義すると、イベントを処理できますが、テンプレート化されたボタンに関連するimageFileDataオブジェクトをどこで取得するかわかりません。ボタンのイベントハンドラーは、明らかにボタンを送信者として渡し、RoutedEventArgsのセットを渡しますが、このデータをコレクションのアイテムに関連付けて削除できるようにする方法がわかりません。

誰かがそれを手伝ってくれる?それとも、どこから始めればいいのかわからないので、ぎこちなくて無駄なグーグル検索をする運命にあるのだろうか?;)

ありがとうZS

4

2 に答える 2

0

もう 1 つの方法は、ビジュアル ツリーをListBoxItem( で定義したすべての要素を含むdatatemplate) までたどることです。ListBoxItemクリックされたボタンを含む がある場合、 のデータを簡単に取得および削除できますListBoxItem

ビジュアル ツリーを上方向にたどる例は、ここGetObjectDataFromPointここにありますFindAncestor

于 2009-03-06T13:45:27.897 に答える