1


1

Silverlight-DataGrid CellTemplateのDataTemplateでレイアウトグリッドのDataContextにアクセスしますか?

Silverlight 3を使用してアプリケーションを開発しています。 私のアプリには、DataGridTemplateColumnsを持つDataGrid( "PART_datagrid"という名前)があるレイアウトグリッド( "LayoutGrid"という名前)があります。 LayoutGridは、プロパティとしてはしごリストがあるDataContextを設定します。 このはしごリストは、PART_datagridのItemsSourceとして設定されます。

      ...

DataGridTemplateColumnsの1つに、LayoutGridのDataContextにあるコマンドを呼び出すボタンがあります。 だから、私は次のように私のDataTemplateボタンで要素間バインディングを試しました


しかし、これはうまくいかないようです。 私が達成したいのは、コマンドを使用して親DataContextレベルでDataGrid行の削除のイベントを処理することです。

誰かがこれをどのように進めるか提案できますか?

前もって感謝します…​

1 Answer


2


問題は、各行がデータグリッドソースを「新しい」データコンテキストのようなものとして使用しているように見えることです。 したがって、各行からグリッドから抜け出し、親データコンテキストを取得するために、階層の上位にポイントする必要があります。 これらの解決策が役立つ場合があります。 私が同じ問題に遭遇したとき、解決策2は私のために働いた。

ロケーターを使用したソリューション1

この投稿をご覧ください:https://stackoverflow.com/questions/1089650/silverlight-datagrid-celltemplate-binding-to-viewmodel[Silverlight DataGrid.Celltemplate Binding to ViewModel]

ソリューション2は、上部で定義リソースを使用し、そのデータコンテキストに接続します。


次に、データグリッド内でこのようなものを使用します

Command="{Binding Source={StaticResource cc1}, Path=Content.DeleteLadderCommand}"

がんばろう