我遇到了这个错误,我找不到解决方案。我执行的MVVM应用程序,在主窗口中我使用的是装载机设置主的DataContext在XAML:在App.xaml中 :App.OnExit在添加ResourceDirectory时找不到合适的方法覆盖
<Application.Resources>
<viewModel:KinectViewModelLoader x:Key="KinectViewModelLoader"/>
</Application.Resources>
在MainWindow.xaml:
<Window x:Class="KinectFittingRoom.MainWindow"
...
DataContext="{Binding KinectViewModel, Source={StaticResource KinectViewModelLoader}}">
...
</Window>
一切运行良好,但现在我想添加一些动态资源,所以我创建了一些包含样式和其他元素的xaml文件。 在例如:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ModelUIElement3D x:Key="BirthdayHatModel">
...
</ModelUIElement3D>
</ResourceDictionary >
要MainWindow.xaml使用他们,我已经添加了他们的App.xaml文件ResourceDirectory然后我的应用程序开始崩溃。
的App.xaml:
<Application x:Class="KinectFittingRoom.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:viewModel="clr-namespace:KinectFittingRoom.ViewModel"
StartupUri="MainWindow.xaml">
<Application.Resources>
<viewModel:KinectViewModelLoader x:Key="KinectViewModelLoader"/>
<ResourceDictionary x:Key="ResourceDictionary">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Styles/GlassButton.xaml"/>
<ResourceDictionary Source="Resources/Models/BirthdayHat.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
现在我在App.xaml.cs文件中获取一个错误,指出KinectFittingRoom.App.OnExit(System.Windows.ExitEventArgs)
没有合适的方法来覆盖。
我的覆盖方法:为什么加入ResourceDirectory节点会导致我的应用程序抛出异常
protected override void OnExit(ExitEventArgs e)
{
KinectViewModelLoader.Cleanup();
base.OnExit(e);
}
马贝有人可以给我解释一下吗?我能做些什么来包括这些资源并避免这些问题?我将不胜感激任何建议。
第一步为我工作。我删除了x:Key属性,并在ResourceDictionary中移动了加载器节点。你能告诉我吗,在''默认创建字典里只放一个节点? –
monkog