2010-09-02 2 views
3

Так что я пытался в течение некоторого времени, чтобы получить тематизации работать в Silverlight 4.Применить тему с Silverlight 4

Я добавил ссылку на System.Windows.Controls.Theming.Toolkit и System.Windows .controls.Theming.ShinyRed

Тогда я пошел и сделал что-то вроде этого:

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dataInput="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Input" xmlns:WebbyDraw="clr-namespace:WebbyDraw" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  x:Class="SilverlightApplication1.MainPage" 
    Width="960" Height="700" mc:Ignorable="d" 
    xmlns:shinyRed="clr-namespace:System.Windows.Controls.Theming;assembly=System.Windows.Controls.Theming.ShinyRed" > 
<shinyRed:ShinyRedTheme> 
<Grid x:Name="LayoutRoot2"> 
.... 
</Grid> 
</shinyRed:ShinyRedTheme> 
</UserControl> 

но я всегда получаю ту же самую старую тему ... нет ошибок, но ничего не происходит либо. Я также пробовал другие темы из инструментария Silverlight 4, а также пытался применить его к одному элементу управления ... ничего ... что я делаю неправильно? Я прочитал несколько руководств и не нашел ответа.

+0

Вы пытались добавить словарь ресурсов в app.xaml? –

+0

Я попытался поместить определение пространства имен (xmlns: shinyRed = ") в app.xaml ... но это все, что мне нужно сделать, что, похоже, не работает. –

ответ

0

Это, как я использую тематизации, я также позволяю своим пользователям изменять их предпочтительную тему -
вы можете заменить ShinyRed.xaml с любым другим файлом стиле ресурсов для поддержки несколько тем также может быть сделан программно (удалить один ресурс словарь и добавить другое).

В вашем xmal управления пользователя

xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit" 
<toolkit:Theme x:Name="ThemeContainer"> 
<Grid x:Name="LayoutRoot"> 
... all other controls in the page 
</Grid> 

Скопируйте все кисти и шрифты, необходимые для shinyred темы и создать один файл стилей под названием ShinyRed.xaml (вы можете просто следовать включает в каждый файл, чтобы получить все это в одном файле)

Итак, в вашем приложении App.xaml ссылка на этот новый xaml adn, который он компилирует и запускает!

<Application.Resources> 
     <ResourceDictionary> 

      <ResourceDictionary.MergedDictionaries>     
       <ResourceDictionary Source="Assets/ShinyRed.xaml"/> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Application.Resources> 
Смежные вопросы