WPF Ribbon Изменение темы - PullRequest
0 голосов
/ 27 июня 2011

Привет, я создаю свое первое приложение WPF, которое использует ленты.Проблема, которую я имею, состоит в том, что я не могу изменить тему лент.Я хочу использовать тему Office 2007 Black.Я искал повсюду, и везде я нахожу примерно один и тот же пример, я пытался написать его с нуля, скопировать копию и все такое, но он продолжает выдавать исключение, когда я пытаюсь запустить приложение.

Исключение

Set property 'System.Windows.ResourceDictionary.Source' threw an exception.' Line number '11' and line position '18'.

Внутреннее исключение

{"Cannot locate resource 'themes/office2007black.xaml'."}

Код Xaml

<r:RibbonWindow x:Class="DtcInvoicer.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
    Title="Dtc Invoicer"
    Width="1000" Height="650" WindowStartupLocation="CenterScreen">

<r:RibbonWindow.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/RibbonControlsLibrary;component/Themes/Office2007Black.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</r:RibbonWindow.Resources>

<Grid x:Name="LayoutRoot">
    <r:Ribbon x:Name="TopMenuRibbon" Title="First Ribbon">
        <r:RibbonTab Header="Home" />
        <r:RibbonTab Header="Company" />
        <r:RibbonTab Header="Employees" />
        <r:RibbonTab Header="Receivables" />
        <r:RibbonTab Header="Payables" />
        <r:RibbonTab Header="Inventory" />
        <r:RibbonTab Header="Settings" />
    </r:Ribbon>
</Grid>
</r:RibbonWindow>

Кто-нибудь знает, почему этоможет происходить?RibbonControlsLibrary находится в моих ссылках, все работает отлично, и ленты появляются в синей теме, пока я не попытаюсь переключиться на черный или серебристый, тогда я получаю исключение.

1 Ответ

1 голос
/ 28 июня 2011

Ресурсы, относящиеся к теме, хранятся в словаре ресурсов с определенным именем файла. Эти файлы должны находиться в папке с именем Themes, которая является подпапкой папки, содержащей элемент управления .

Подробнее см. в этой статье MSDN .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...