2017-01-10 3 views
1

Я пытаюсь настроить собственный стиль для вращения разделителя.LayoutTransform Custom Style wpf

Этот код работает, но не пользовательский стиль:

<Separator> 
    <Separator.LayoutTransform> 
     <RotateTransform Angle="90" /> 
    </Separator.LayoutTransform> 
</Separator> 

Вот что я пробовал:

<Style x:Key="CustomStandaloneSeparatorStyle" TargetType="Separator"> 
      <Setter TargetName="LayoutTransformProperty" Property="RotateTransform.Angle" Value="{Binding ToolbarTrayElementRotation}" /> 
      <Setter Property="Margin" Value="2"/> 
</Style> 

Сообщение об ошибке: "LayoutTransformProperty не признается". Тем не менее, он доступен как опция, когда вкладка завершает эту запись ... Странно.

+0

'TargetName' для установки свойства другого элемента, идентифицированный его имя. Ошибка говорит вам, что у вас нет '' в любом месте вашего окна/UserControl. –

+0

Хорошо, это имеет смысл. Однако на самом деле он не отвечает на вопрос о том, как это сделать должным образом. Есть идеи? –

ответ

3

Вы должны быть настройки LayoutTransform свойство экземпляра RotateTransform:

<Style x:Key="CustomStandaloneSeparatorStyle" TargetType="Separator"> 
    <Setter Property="LayoutTransform"> 
     <Setter.Value> 
      <RotateTransform Angle="90" /> 
     </Setter.Value> 
    </Setter> 
</Style> 
+0

Это точно это не так, как 'Angle =" {Binding ToolbarTrayElementRotation} '. Спасибо, я приму ответ в течение нескольких минут, когда это позволит мне. –

+0

У вас не было этого в вашем исходном« рабочем »коде, поэтому я не включил его в свой ответ. :-) –

+0

Должен ли я ссылаться на них как на статические или динамические ресурсы? Оба они работают, есть ли более правильные? –

1

Свойство называется LayoutTransform:

<Style x:Key="CustomStandaloneSeparatorStyle" TargetType="Separator"> 
    <Setter Property="LayoutTransform"> 
     <Setter.Value> 
      <RotateTransform Angle="{Binding ToolbarTrayElementRotation}" /> 
     </Setter.Value> 
    </Setter> 
    <Setter Property="Margin" Value="2"/> 
</Style>