WPF DataContext值动态赋值

时间:2014-03-27 01:52:17

标签: wpf data-binding

如何在WPF应用程序中设置DataContext值?在下面的代码中,我在开头设置它(Startup)。稍后我想为视图设置另一个DataContext值。最好的方法是什么?

public partial class App : Application
{
    private void OnStartup(object sender, StartupEventArgs e)
    {
        MainWindow view = new MainWindow();
        MainViewModel mainViewModel = new MainViewModel();
        view.DataContext = mainViewModel;
        view.Show();
    }

}

简单地说,MainViewModel中有一个ObservableCollection,当用户只按某个按钮操作时会分配它。我需要在视图中更新数据。如果您有任何问题,请告诉我

EDIT ::::

我还有一个问题。我是否需要重新分配整个DataContext或者我可以通过INotifyCollectionChanged事件执行某些操作吗?请澄清

1 个答案:

答案 0 :(得分:0)

您的mainViewModel与您的MainViewModel类紧密耦合。尝试使用界面。您可以创建IViewModel并将其实现到MainViewModel。本网站将为您提供帮助 dofactory 你也可以像ninject一样使用一些依赖注入。