为什么我不能将Orientation属性添加到WPF中的样式设置器

0x4*_*9D1 4 c# wpf styles stackpanel

当我写这样的东西时:

  <Style x:Key="panelS">
            <Setter Property="Orientation" Value="Horizontal" />
            <Setter Property="DockPanel.Dock" Value="Top" />
  </Style>
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:无法解析样式属性'Orientation'.验证拥有类型是Style的TargetType,还是使用Class.Property语法指定Property.
当然我有一个Dock面板,其中有许多Stackpanels,所以我想将Stackpanel的属性移动到样式.但是有这个错误,我不太明白这是什么意思,什么是解决方法(..我不想在每个Stackpanel上分配Orientation).

SLa*_*aks 7

Style与该StackPanel类型无关.

因此,WPF不了解该Orientation财产.(因为该属性是由定义的StackPanel)

您可以通过将其更改为明确告诉WPF哪个类定义属性StackPanel.Orientation.

或者,您可以通过向元素添加a 来将其StyleStackPanel类型相关联.TargetType="StackPanel"<Style>