2010-05-27 16 views
3

當我寫這樣的事情:爲什麼不能我Orientation屬性添加到樣式二傳手在WPF

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

我得到,說錯誤:無法解析樣式屬性「定位」。驗證擁有的類型是Style的TargetType,還是使用Class.Property語法指定屬性。
當然,我有一個有許多Stackpanels的Dock面板,所以我想將Stackpanel的屬性移動到樣式中。但有這個錯誤,我不明白它是什麼意思,什麼是解決方法(..我不想在每個Stackpanel分配方向)。

回答

6

您的StyleStackPanel類型沒有關聯。

因此,WPF不知道Orientation屬性。 (因爲該屬性由StackPanel定義)

您可以通過將其更改爲StackPanel.Orientation來明確告訴WPF哪個類定義了該屬性。

或者,您可以通過將TargetType="StackPanel"添加到<Style>元素來將StyleStackPanel類型相關聯。

2

嘗試添加一個TargetType到樣式中,以便它知道您正在談論StackPanels。這個版本應該工作:

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

OOPS,忘了它!謝謝! – 0x49D1 2010-05-27 13:58:05

相關問題