我遇到了這個錯誤,我找不到解決方案。我執行的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