Silverlight 4 и неявное моделирование - PullRequest
3 голосов
/ 02 марта 2010

В Silverlight 4 возможно использование неявного стиля - и это удивительно! Но что, если я хочу применить стиль ко всем моим кнопкам, флажкам и радио кнопкам (все они наследуются от ButtonBase)? Я не могу установить TargetType для стиля на ButtonBase - это не работает. Нужно ли создавать стиль для каждого из 3 типов элементов управления?

Ответы [ 2 ]

4 голосов
/ 02 марта 2010
1 голос
/ 02 марта 2010

xamlgeek,

Следующие неявные стили работают хорошо для меня. Сначала я создаю несколько стилей имени / ключа с использованием общих стилей BasedOn, где это возможно. Затем я просто создаю неявные стили на основе названных / ключевых стилей ...

<Style x:Key="BaseStyle" TargetType="Control">
    <Setter Property="FontFamily" Value="{StaticResource FontFamily}" />
    <Setter Property="FontSize" Value="{StaticResource FontSize}" />
    <Setter Property="Foreground" Value="{StaticResource FontBrush}" />
</Style>
<Style x:Key="BaseStyleCentered" TargetType="Control" BasedOn="{StaticResource BaseStyle}">
    <Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style x:Key="CommonCheckBox" TargetType="CheckBox" BasedOn="{StaticResource BaseStyleCentered}">
    <Setter Property="Cursor" Value="Hand" />
</Style>
<Style x:Key="CommonRadioButton" TargetType="RadioButton" BasedOn="{StaticResource BaseStyleCentered}">
    <Setter Property="Cursor" Value="Hand" />
</Style>
<Style x:Key="CommonButton" TargetType="Button" BasedOn="{StaticResource BaseStyleCentered}">
    <Setter Property="Cursor" Value="Hand" />
    <Setter Property="Padding" Value="10,0,10,0" />
    <Setter Property="MinWidth" Value="{StaticResource ButtonWidth}" />
    <Setter Property="MinHeight" Value="{StaticResource ButtonHeight}" />
</Style>
<Style TargetType="CheckBox" BasedOn="{StaticResource CommonCheckBox}">
</Style>
<Style TargetType="RadioButton" BasedOn="{StaticResource CommonRadioButton}">
</Style>
<Style TargetType="Button" BasedOn="{StaticResource CommonButton}">
</Style>

Удачи,

Jim

YinYangMe, YinYangMoney и FaceToFaceSoftware

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...