wpf, стиль, сеттеры - PullRequest
       18

wpf, стиль, сеттеры

1 голос
/ 16 апреля 2010

У меня вопрос по поводу определения стиля wpf xaml. Когда я пытаюсь установить стиль таким образом:

<StackPanel Orientation="Vertical">
      <StackPanel.Style>
          <Setter Property="BusinessModeler:GraphItemBehaviour.IsBroughtIntoViewWhenSelected" Value="True" />
      </StackPanel.Style>
</StackPanel>

вызывает исключение с сообщением - 'System.Windows.Setter' is not a valid value for property 'Style'.

когда я использую это определение:

<Style x:Key="itemBehaviour" > 
    <Setter Property="BusinessModeler:GraphItemBehaviour.IsBroughtIntoViewWhenSelected" Value="True" />
</Style>
<StackPanel Orientation="Vertical" Style="{StaticResource itemBehaviour}">

все отлично работает.

Так в чем же разница?

1 Ответ

4 голосов
/ 16 апреля 2010

StackPanel.Style - это свойство типа Style, поэтому без переноса Setter в <Style></Style> вы пытаетесь установить для свойства Style что-то типа Setter.

<StackPanel.Style>
    <Style>
        <Setter Property="BusinessModeler:GraphItemBehaviour.IsBroughtIntoViewWhenSelected" Value="True" />
    </Style>
</StackPanel.Style> 
...