Автоматическое применение шаблона (темы) в Silverlight 2 (RC0) - PullRequest
0 голосов
/ 08 октября 2008

Есть ли способ автоматически применять тему / шаблон / стиль ко всем элементам управления типа таргетинга, поэтому мне не нужно указывать Template = ..., Style = ... на всех элементах управления?

Ответы [ 3 ]

2 голосов
/ 08 октября 2008

Я думал, что есть способ сделать это, просто пропустив атрибут x: Key, но это больше не работает. Основываясь на некотором поиске, мне кажется, что вам лучше всего создать собственную библиотеку элементов управления, которая имеет файл themes / generic.xaml, который определяет ваши пользовательские стили. Затем вы можете использовать свои собственные элементы, которые оформлены должным образом (MyButton вместо Button). Либо это, либо придерживается свойства Style .

Пример этого здесь и альтернативный подход с использованием тем здесь .

Обновление: Только что нашел действительно хороший пример этого здесь (я думаю, вы, возможно, уже видели его

1 голос
/ 16 февраля 2012

Чтобы установить тему для всех элементов управления, создайте событие запуска и задайте тему в обработчике события запуска. К этой теме будут применены все пользовательские элементы управления в этом решении.

//App.xaml

<Application x:Uid="Application_1" x:Class="SampleApp.Home.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml"
             Startup="Application_Startup">

//App.xaml.cs

private void Application_Startup(object sender, StartupEventArgs e)
        {
            StyleManager.ApplicationTheme = new MetroTheme(); //Set your theme here           
        } 
0 голосов
/ 08 октября 2008

Einarl: В настоящее время нет способа "каскадного" управления шаблонами / стилями в ядре Silverlight 2. То есть вы не можете установить шаблон стиля / элемента управления для TextBox и ожидать, что все TextBox-ы его подберут. Это определенно то, что команда ищет для будущих версий.

...