我的 WPF 应用程序使用资源字典。我也在使用 MVVM。
我正在绑定到 ResourceDictionary,但想将我的 MainWindow ViewModel 绑定到 MainWindow(Window 类型),但 MVVM 不会让我作为 MainWindow,它不是 UserControl 类型。
<Grid.Resources>
<ResourceDictionary Source="Resources\ResourceDictionary.xaml" />
</Grid.Resources>
<Grid.DataContext>
<Binding Source="{StaticResource Mwvm}" />
</Grid.DataContext>
</Grid>
这意味着我不能这样做
<DataTemplate DataType="{x:Type viewModel:MainWindowViewModel}">
<root:MainWindow x:Key="Mwvm" />
</DataTemplate>
有谁知道我可以如何做同样的事情,但是当对象是一个窗口并且只使用 XAML 时(我知道我可以使用 app.xaml onstartup() 中的代码来做到这一点)?
编辑 为了清楚地说明这一点,我知道在我的 MainWindow 中我可以向我的 ViewModel 声明一个命名空间,但是当我的 ResourceDictionary 中已经引用了命名空间并且我正在引用我的 ResourceDictionary 时,这是正确的方法吗?