viewmodel和视图控制执行顺序

时间:2014-03-12 12:15:46

标签: c# wpf mvvm dependencies

我对MVVM中的执行顺序有严重问题: 此代码实例化视图(XAML):

<local:ExecutionView x:Name="ExecutionView" DataContext="{Binding ExecutionViewNodel}"/>

ExecutionView具有内部视图模型(_viewModel = DataContext as ExecutionViewModel;)。 在其CTOR中,它使用viewmodel- _viewModel.DoSomthing();

问题是它是null ..

我无法控制绑定的时间 - 我已经阅读了一些内容以及处理问题的方法(Loaded event和datacontextchanged) - 我仍然认为这是一种解决方法,而不是它应该如何完成。

我需要一种方法来控制我可以编写一个函数的步骤,该函数将在DataContext确定有效后调用一次。

BR,Mosh。

1 个答案:

答案 0 :(得分:0)

不是在构造函数中使用DataContext,而是在它不可用时,在构造函数中订阅DataContextChanged事件,并在调用偶数处理程序时,获取对新的DataContext并执行您需要的任何操作。

也可以在XAML中声明一个事件处理程序,因此对事件的订阅不需要在构造函数中。

Here is a link to MSDN关于该事件。