2010-11-22 3 views
2

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

Использование 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> 

ответ

3

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

Посмотрите на это сообщение в блоге для получения некоторой информации, которая может помочь. Styling controls on a ToolBar.

+0

Отличная статья на ToolBar. Спасибо за ссылку! – jpierson 2013-02-20 00:51:19

Смежные вопросы