resource - xaml style wpf



x:樣式中的Key&TargetType (1)

是否有任何差異(或優勢)使用此聲明:

Style x:Key="{x:Type DataGridCell}" TargetType="{x:Type DataGridCell}"

省略了x:Key屬性?

我認為WPF將密鑰分配給引擎蓋下相同的x:Type


Style.TargetType的MSDN文檔證實了你的懷疑:

將TargetType屬性設置為TextBlock類型而不設置x:Key隱式地將x:Key設置為{x:Type TextBlock}。 這也意味著,如果您將上面的Style設置為{x:Type TextBlock}以外的其他x:Key值,則樣式不會自動應用於所有TextBlock元素。 相反,您需要明確地將樣式應用於TextBlock元素。

如果某個樣式的資源字典鍵是一個類型,則該樣式將用作該類型的所有不顯式指定樣式的實例的默認樣式。 由於通常會提供目標類型,因此省略該鍵的語法只是定義默認樣式的快捷方式。





targettype