WPF数据上下文场景

时间:2012-04-13 18:52:33

标签: wpf mvvm-toolkit

我在XAML代码(数据网格)中有一个用户控件,带有这个数据绑定语句:

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

我在演示者类中使用此用户控件,我在其中实现了模型视图类并将datacontext设置为视图中的对象

...所以MyCollection对象在may视图中定义,而不是在我的控件后面的代码中

但我想从代码隐藏中访问此MyCollection属性,因为我想实现一个过滤我的收集源的按钮事件

如何在代码隐藏中或在我错误的位置访问MyCollection?

感谢

1 个答案:

答案 0 :(得分: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
{}

希望这会有所帮助