В чем разница между x: Ключ и x: Имя в WPF?Разница между x: Ключ и x: Имя
ответ
x: Ключ действует только в словаре ресурсов и добавляется в словарь, x: Имя используется локально и представляет собой переменную внутри класса.
x:Name
используется для имен элементов пользовательского интерфейса (например, элементы управления, панели и т.д.), в то время как x:Key
используется для идентификации ресурсов (которые могут быть более или менее что-нибудь) в пределах ResourceDictionary
.
Это означает, что вы не можете ссылаться на вещи в словаре ресурсов, используя x:Name
значение:
<Grid>
<Grid.Resources>
<Style x:Name="StyleName" x:Key="StyleKey" />
</Grid.Resources>
<Button Style="{StaticResource StyleName}" /> <!-- Will not work-->
<Button Style="{StaticResource StyleKey}" /> <!-- Will work -->
</Grid>
Вы также заметите, что элементы, которые не являются в словаре ресурсов не может иметь атрибут x:Key
:
<TextBox x:Key="TextBoxKey" /> <!-- Will not compile -->
Да, вы должны использовать x: Ключ для назначения ключа ресурсам внутри ResourceDictionary, либо локально в разделе ресурсов для элемента, либо определенного ResourceDictionay. Затем этот ключ используется для поиска ресурса через {DynamicResource XXX} или {StaticResource XXX}.
x: Имя используется для присвоения имени элементу управления в xaml. Затем это можно использовать для доступа к элементу в файле, находящемся за кодом, с использованием обычного синтаксиса или с использованием привязки ElementName внутри файла.
- 1. Разница между x (1) и x {1}
- 2. Разница между Numberlong (x) и Numberlong ("x")
- 3. Разница между пустым ($ x) и @ $ x?
- 4. Разница между (X! = Y) и (! (X == Y))?
- 5. Есть ли разница между `* x` и` x * `?
- 6. разница между ∀x∃y и ∃y∀x
- 7. Разница между -x и ~ x + 1
- 8. В чем разница между x: ключ и x: имя в WPF?
- 9. Разница между ~ (x-1) и ~ x + 1 при x = 0x80000000
- 10. Разница между x.toString() и x + ""
- 11. Разница унарных операторов (+ =, = +, ++ x, x ++)
- 12. В чем разница между X = X ++; vs X ++ ;?
- 13. Разница в размере между char * x и char x []
- 14. В чем разница между «x is null» и «x == null»?
- 15. Taylor Series Разница между exp (-x) и exp (+ x)
- 16. Разница между передачей (int x) и (const int & x)
- 17. numpy: Почему существует разница между (x, 1) и (x,) размерностью
- 18. Разница между деловыми работами Tibco 5.x и 6.x
- 19. Разница между x | y и y <(x) в bash?
- 20. Какая разница между a = x и a = x [:] в python
- 21. Есть ли разница между float [] x и float x []?
- 22. Разница между char * x и char * x [80]?
- 23. В чем же разница между x ++ и x + 1?
- 24. Есть ли разница между IsNull (x) и x = ""?
- 25. разница между CodeIgniter 3.x и CodeIgniter 2.x
- 26. Разница между Boolan (! X) и Boolean (x == 0)?
- 27. Разница между if (x) {foo(); } и x? foo(): 0;
- 28. В чем разница между Y ~ X и Y ~ X + 1?
- 29. Разница между [len (a):] = [x] и [len (a)] = [x]
- 30. Клиент Emacs: разница между C-x k и C-x #