Как установить тему для WPF-приложения c # .net - PullRequest
0 голосов
/ 15 мая 2018

Я заметил, что когда кто-то запускает мое приложение из Windows 10 (я сделал это с помощью Windows 7), что кнопки становятся не выровненными, единственная причина, по которой я могу думать об этом, заключается в том, что другая тема по умолчанию используется во время работыв разных операционных системах.

Как мне настроить тему по умолчанию, а не разрешать ее выбирать в зависимости от операционной системы, в которой он работает?

Справка по многим другим подобным вопросамфайл app.xaml?но у меня, кажется, нет этого, это автоматически сгенерированный или что-то, что я должен добавить сам?

1 Ответ

0 голосов
/ 15 мая 2018

Шаблоны по умолчанию для элементов управления WPF выглядят по-разному в разных версиях Windows.

Если вы добавите ссылку на PresentationFramework.Aero.dll и установите для ее свойства Copy Local значение true в Visual Studio, вы можетеПримените тему Windows 7 к своему приложению, добавив объединенную ResourceDictionary в вашу App.xaml:

<Application ...>
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

Помимо Aero, также доступны некоторые другие темы (и соответствующие им сборки):

<ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml"/>
<ResourceDictionary Source="/PresentationFramework.Classic;component/themes/Classic.xaml"/>
<ResourceDictionary Source="/PresentationFramework.Royale;component/themes/Royale.NormalColor.xaml"/>
<ResourceDictionary Source="/PresentationFramework.Luna.Homestead;component/themes/Luna.Homestead.xaml"/>
<ResourceDictionary Source="/PresentationFramework.Luna.Metallic;component/themes/Luna.Metallic.xaml"/>
<ResourceDictionary Source="/PresentationFramework.Zune;component/themes/Zune.NormalColor.xaml"/>
...