x: ключ и тип цели в стилях

#wpf #silverlight #xaml #targettype

#wpf #silverlight #xaml #тип цели

Вопрос:

Есть ли какая-либо разница (или преимущество) в использовании этого оператора:

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

с пропуском x:Key атрибута?

Я думаю, что WPF присваивает ключ тому же x:Type , что и под капотом.

Ответ №1:

Документация MSDN для Style.TargetType подтверждает ваши подозрения:

Установка свойства TargetType в тип TextBlock без установки x:Key неявно устанавливает x:Key в {x:Type TextBlock}. Это также означает, что если вы присвоите вышеуказанному стилю значение x:Key, отличное от {x:Type TextBlock}, стиль не будет применяться ко всем элементам TextBlock автоматически. Вместо этого вам нужно явно применить стиль к элементам TextBlock.

Если ключом словаря ресурсов стиля является тип, этот стиль используется в качестве стиля по умолчанию для всех экземпляров этого типа, которые явно не указывают стиль. Поскольку целевой тип обычно предоставляется, синтаксис исключения ключа — это просто ярлык для определения стиля по умолчанию.

Комментарии:

1. хорошо, просто я видел это в нескольких хороших примерах, и это помогло, спасибо Рик

2. @Manuel: Если этот ответ помог вам, почему бы вам не принять его !