4

私がこのようなものを書くとき:

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

次のエラーが表示されます:スタイル プロパティ 'Orientation' を解決できません。所有する型がスタイルの TargetType であることを確認するか、Class.Property 構文を使用してプロパティを指定します。
確かに、多くの Stackpanel を含む Dock パネルがあるので、Stackpanel のプロパティをスタイルに移動したいと考えています。しかし、このエラーがあり、その意味と回避策がよくわかりません(..すべてのスタックパネルに向きを割り当てたくない)。

4

2 に答える 2

7

あなたはタイプStyleに関連付けられていません。StackPanel

したがって、WPF はOrientationプロパティを認識しません。(そのプロパティは によって定義されているためStackPanel)

プロパティを に変更することで、どのクラスがプロパティを定義しているかを WPF に明示的に伝えることができますStackPanel.Orientation

または、要素に aを追加してStyle、 をタイプに関連付けることができます。StackPanelTargetType="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 に答える