我在窗口的单独 XAML 文件中使用 DataContext 的应用程序资源时遇到问题。(DataContext 是一个 MVVM ViewModel。)我搜索了 Google 和 SO,看来我所做的应该是正确的。这是 App.xaml 代码:
<Application x:Class="Test.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ViewModel="clr-namespace:Test.ViewModel;assembly=Test.ViewModel"
Startup="Application_Startup">
<Application.Resources>
<ViewModel:DocumentManager x:Key="DocumentManagerViewModel" />
</Application.Resources>
</Application>
这是我的 MainWindow.xaml 的一部分:
<ribbon:Ribbon>
<ribbon:Ribbon.ApplicationMenu>
<ribbon:RibbonApplicationMenu SmallImageSource="..\Images\SmallIcon.png"
DataContext="{Binding Source={StaticResource DocumentManagerViewModel}}">
</ribbon:RibbonApplicationMenu>
</ribbon:Ribbon.ApplicationMenu>
</ribbon:Ribbon>
当我运行它时,我得到以下 XamlParseException:
'在 'System.Windows.StaticResourceExtension' 上提供值引发了异常。' 行号“31”和行位置“47”。
我也试过:
DataContext="{StaticResource DocumentManagerViewModel}"