4

当我写这样的东西时:

  <Style x:Key="panelS">
            <Setter Property="Orientation" Value="Horizontal" />
            <Setter Property="DockPanel.Dock" Value="Top" />
  </Style>

我收到错误消息:无法解析样式属性“方向”。验证所属类型是否为 Style 的 TargetType,或使用 Class.Property 语法来指定 Property。
当然,我有一个包含许多 Stackpanel 的 Dock 面板,所以我想将 Stackpanel 的属性移动到样式中。但是有这个错误,我不太明白它的含义和解决方法是什么(..我不想在每个 Stackpanel 上分配方向)。

4

2 回答 2

7

StyleStackPanel类型无关。

因此,WPF 不知道该Orientation属性。(因为该属性由 定义StackPanel

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

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

于 2010-05-27T13:56:42.993 回答
3

尝试将 TargetType 添加到样式中,以便它知道您在谈论 StackPanels。这个版本应该可以工作:

<Style x:Key="panelS" TargetType="StackPanel">
    <Setter Property="Orientation" Value="Horizontal" />
    <Setter Property="DockPanel.Dock" Value="Top" />
</Style>
于 2010-05-27T13:57:08.110 回答