私の WPF アプリケーションでは、リソース ディクショナリを使用しています。私もMVVMを使用しています。
ResourceDictionary にバインドしていますが、MainWindow ViewModel を (Window タイプの) MainWindow にバインドしたいのですが、MVVM では、UserControl タイプではない MainWindow として許可されません。
<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() のコードビハインドでこれを行うことができることを知っています)?
EDIT これを明確にするために、MainWindow内でViewModelに名前空間を宣言できることを知っていますが、名前空間がResourceDictionaryで既に参照されており、ResourceDictionaryを参照している場合、これは正しい方法です.