2014-01-22 2 views
2

В Windows 8 вы смогли создать свои темы для своего приложения (here's a tutorial).Создать тему в Windows 8.1

В приложениях Windows 8.1 темы обрабатываются по-разному: вы можете изменить их во время выполнения и задать тему для определенного элемента управления в своем XAML (если вы не хотите применять тему для всего приложения).

Например:

<Grid x:Name="MainGrid" RequestedTheme="Dark"> 

Однако, я не мог найти способ, чтобы создать свои собственные темы. Свойство RequestedTheme принимает перечисление (его тип FrameworkElement.RequestedTheme), и перечисление по определению не может быть расширено (в C#). Кроме того, если я хочу, чтобы определить новый Theme Dictionary я бы написал:

<ResourceDictionary.ThemeDictionaries> 

Но он не доступен в Windows, 8.1.

Как создать тему в Windows 8.1? Я ограничена существующими (свет & темный)?

+0

Вы не создаете новые темы, вы переопределяете 3 существующие темы. – WiredPrairie

ответ

3

Да вы ограничены 3 темы я считаю,

По умолчанию (свет) Dark High Contrast

Вы можете создавать новые стили или переопределить существующие для 3 темы на, как это в 8,1

<ResourceDictionary.ThemeDictionaries> 
      <ResourceDictionary x:Key="Default"> 
       <Style TargetType="TextBlock"> 
        <Setter Property="FontSize" Value="24" /> 
        <Setter Property="Foreground" Value="Green"/> 
       </Style> 
      </ResourceDictionary> 
      <ResourceDictionary x:Key="Dark"> 
       <Style TargetType="TextBlock"> 
        <Setter Property="FontSize" Value="30" /> 
        <Setter Property="Foreground" Value="Orange"/> 
       </Style> 
      </ResourceDictionary> 
      <ResourceDictionary x:Key="HighContrast"> 
       <Style TargetType="TextBlock"> 
        <Setter Property="FontSize" Value="24" /> 
        <Setter Property="Foreground" Value="Blue"/> 
       </Style> 
      </ResourceDictionary>    
     </ResourceDictionary.ThemeDictionaries> 
Смежные вопросы