0

次の databind ステートメントを使用して、XAML コード (データ グリッド) にユーザー コントロールがあります。

<WpfToolkit:DataGrid ItemsSource="{Binding Path=MyCollection}" x:Name="lvItems"

このユーザー コントロールをプレゼンター クラスで使用し、モデルビュー クラスをインスタンス化し、データ コンテキストをビュー内のオブジェクトに設定します。

...だから MyCollection オブジェクトは、私のコントロールの背後にあるコードではなく、ビュークラスの可能性があります

コレクションソースをフィルタリングするボタンイベントを実装したいので、コードビハインドからこの MyCollection プロパティにアクセスしたい

コードビハインドまたは間違った場所で MyCollection にアクセスするにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

多分そのようなもの?

これをボタンクリックイベントまたはボタンコマンドに配置します

var yourModelView = this.DataContext as IYourModelView;
if (yourModelView != null) {
  var yourColl = yourModelView.MyCollection;
  // do something with this collection
}

編集

public IYourModelView
{
  ICollection MyCollection {get; set;}
}

public class YourModelView1 : IYourModelView
{}

public class YourModelView2 : IYourModelView
{}

お役に立てれば

于 2012-04-13T19:42:11.597 に答える