2010-05-27 2 views
1

Я работаю над шаблоном управления для унаследованного класса TextBox. Я бы хотел использовать этот шаблон для добавления дополнительных элементов управления с помощью ScrollViewer. Я могу достичь этой цели просто прекрасно, что я не могу воссоздать границу в такой ситуации, чтобы она соответствовала внешнему виду Windows.WPF Control Templating: Сохранение внешнего вида Windows

У меня Windows Classic как моя тема на XP. Текстовые файлы обычно отображаются со стандартным стилем границы вставки. С ценой XP Fischer Price границы текстового поля являются плоскими и светло-голубыми.

Есть ли способ указать что-то подобное в шаблоне? В идеале он будет использовать тему по умолчанию (серая вставка для классического, плоского и светло-голубого для темы цены fischer).

+0

+1 для «Цена Фишера» (а не его правописание, но самое упоминание об этом) – BoltClock

ответ

0

Вам необходимо будет предоставить отдельную контрольную таблицу для каждой известной темы. Существует не общий способ создания темы-агностик ControlTemplate. Infact WPF сам поддерживает отдельные ControlTemplates для каждой официальной темы (excpet the Zune theme, где WPF возвращается на черный линкор).

0

Я не уверен, что это будет работать, поскольку я не уверен, что такое ваша установка. Я также не знаю, беспокоитесь ли вы об изменении тем «на лету». Вы можете попытаться установить стиль для вашего класса текстового поля:

BasedOn="{DynamicResource {x:Type TextBox}}"