我仍然处于 WPF 和 MVVM 模式学习曲线的陡峭部分。我的部分方法是“了解星舰上的事情是如何运作的”(可以这么说)。也就是说,就我的学习方式而言,一些底层的理解对我有很大帮助。
所以在我看来,我在代码中采取的导致我的 ViewModel 实例化的操作是在 XAML 中声明 DataContext。有人可以为我确认或更正吗?换句话说,在这个 XAML 代码片段中,
<Window x:Class="MainRM21WPFapp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mainVM="clr-namespace:MainRM21WPFapp.ViewModels"
Title="RM21 Demonstration Application" Height="500" Width="700">
<Window.DataContext>
<mainVM:MainWindowVM />
</Window.DataContext>
<Grid>
...
</Grid>
就是这个:
<Window.DataContext>
<mainVM:MainWindowVM />
</Window.DataContext>
这会导致 CLR 创建我的类 MainWindowVM 的新实例。我理解正确吗?