Использовать ресурс приложения как DataContext в XAML - PullRequest
0 голосов
/ 09 февраля 2012

У меня проблемы с использованием ресурса приложения для DataContext в отдельном файле XAML для окна.(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}"

...