2011-04-07 47 views
0

是否有方法可以定義僅在某些情況下應用於對象的樣式?Wpf樣式:在列表框中設置樣式

例如:作爲列表框中項目模板一部分的標籤樣式。

我知道你可以爲樣式創建一個鍵,並指定直接應用於標籤的樣式,但是還有其他更通用的方法嗎?

+0

還沒有嘗試過,但您可能能夠創建在該項目的DataTemplate.Triggers一個DataTrigger,設置樣式爲特定的資源。我不確定數據觸發Setter元素是否會解析資源。 – 2011-04-07 17:39:47

回答

3

您應該能夠在層次結構中的最低級別定義風格,並且在沒有密鑰的情況下設置樣式的TargetType

這將強制樣式適用於相對於其定義的層次結構下的定義類型。

在這種情況下,資源將生活在ListBox之內,因此可以應用到您的模板。

<ListBox.Resources> 
    <Style TargetType="Label"/> 
</ListBox.Resources>