При определении стиля в словаре ресурса можно использовать также
x:Name="xyz"
и
x:Type="xyz".
и может сослаться на этот стиль в XAML как {StaticResource xyz}.
Большинство примеров использует 'x:Key', и различие между 'именем' и 'ключом' - то, что использование 'x:name' позволяет Вам использовать этот код определения стилей - позади?
ФИКСИРУЕТ: вопрос является полностью неправильным. То, что было предназначено, чтобы быть спрошенным, было различием между x:Key и x:Name., Но не пошло, пробуя этот код самостоятельно, но просто полагалось на памяти - думал, что у меня есть оба в ResourceDictionary, который был неправ. И у меня также не было такого кода в
<xxx.Resources >
разделы, так как это не работает также. Вы не можете стиль ссылки, который не имеет x:Key (x:Name, не работает здесь), и добавление, что два стиля без x:Key выдают исключение, так как оба получают то же (пустой?) вводят словарь.
Ray помещает все различие очень хорошим способом, спасибо.
Мой отказ
Это трюк. На самом деле, вы не могут определить стиль в ресурсе, используя либо
x:Type="xyz"
, либо
x:Name="xyz"
вот разница:
X: TYPE = «XYZ»
недействительно XAML синтаксис. x: name = "xyz"
на самом деле действительна синтаксиса XAML, имеющих объект (который влияет на генерацию кода), но не обеспечивает ключ словаря. X: KEY = «XYZ»
также является действительным синтаксисом XAML, который обеспечивает ключ словаря, но не называет объект. В словаре требуется ключ, поэтому вы должны указать X: ключ
(за исключением того, что для FrameworkTemplate и его подклассов ключ можно выводить из TargetType или DataType). В словаре вы также можете указать x: Имя
, если это необходимо, но он не влияет на ключ.
Обратите внимание, что X: тип
- расширение разметки, которое предопределено XAML, тогда как x: Имя
и x: Клавиша
- это фактические ключевые слова XAML. Итак x: Тип
можно использовать только в синтаксисе расширения разметки только в качестве значения свойства:
something="{x:Type whatever}"
, тогда как x: Имя
и x: Клавиша
Это можно использовать на элементах.
X: Имя Позволяет создать ссылку, которую вы можете использовать по имени.
X: Type позволяет создавать ссылку, которая используется, например, в
<Style TargetType="{x:Type Button}">
...
</Style>
создает стиль, который автоматически влияет на кнопки