Почему следующий стиль WPF не применяется? - PullRequest
2 голосов
/ 23 ноября 2010

Почему не работает следующий стиль?В других местах у меня точно такая же конструкция с другими элементами управления, и она работает.

Использование TargetType="{x:Type Separator}" вместо TargetType="Separator" также не работаетНи один не перемещается Style выше в иерархии XAML.Можно ли избежать использования x:Key="styleName" и Style="{StaticResource styleName}"?

Но что более важно, я пытаюсь понять, почему такая привязка стиля не всегда работает.

<ToolBar Height="25">
    <ToolBar.Resources>
        <Style TargetType="Separator">
            <Setter Property="Margin" Value="15"/>
        </Style>
        <Style TargetType="RadioButton">
            <Setter Property="Margin" Value="10"/>
            <Setter Property="Width" Value="50"/>
        </Style>
    </ToolBar.Resources>

    <RadioButton Content="A"/>  <!-- NOT APPLIED HERE -->
    <Separator/>                <!-- NOT APPLIED HERE -->
    <RadioButton Content="B"/>  <!-- NOT APPLIED HERE -->
</ToolBar>

1 Ответ

3 голосов
/ 23 ноября 2010

Панель инструментов WPF делает некоторые интересные вещи со своими дочерними элементами управления. В отличие от других контейнеров, это не так просто, как определить стиль, который применяется к типу.

Загляните в этот блог, чтобы получить некоторую информацию, которая может помочь. Стилизация элементов управления на панели инструментов .

...