1

特定のアイテムを表示する GridView があります。各アイテムには編集ボタンがあり、編集ボタンを押すとアイテムの横にユーザーコントロールがロードされます。このユーザーコントロールには閉じるボタンがあり、閉じるボタンを押すとユーザーコントロールが削除されます。項目を含む GridView (青色の四角形)

項目の編集ボタン (青色の四角形) がクリックされ、その横にユーザー コントロール (赤色の四角形) が読み込まれた後の GridView

青色の四角形は、グリッドビュー内の項目を表します。ピンクの追加ボタンをクリックすると、赤色のユーザーコントロールが読み込まれます。赤い四角形の閉じるボタンをクリックすると、赤い色のアイテムが削除され、元の状態に戻ります。テンプレートセレクターを使用してユーザーコントロールを追加しましたが、正常に機能しています。しかし、閉じるボタンはそれを削除しません。を削除するために次のアプローチを試しました。

(GridView)this.Parent).Items.Remove(this);

ブレークポイントを追加して確認すると、this.Parent が null であることがわかりました。立ち往生しています。どうすればよいですか? 私はc#、xaml、winrt、Visual Studio 2012を使用しています

4

1 に答える 1

0

ビジュアル ツリーを作成する必要がある場合は、次の方法を試してください。

var _Parent = VisualTreeHelper.GetParent(sender as UserControl) as GridView;
_Parent.Items.Remove(sender as UserControl);

ただし、GridView から項目を削除するには、ViewModel の GridView の ItemsSource にバインドされた ObservableCollection を操作する必要があります。こんなんじゃない、多分…

于 2013-06-25T02:04:44.237 に答える