{x: Null} против прозрачного?

Это означает, что наиболее переносимым способом определения реализации методов классов шаблонов является определение их внутри определения класса шаблона.

template < typename ... >
class MyClass
{

    int myMethod()
    {
       // Not just declaration. Add method implementation here
    }
};
41
задан mobileTofu 17 March 2011 в 20:15
поделиться

3 ответа

Transparent создаст кисть, которая инициализируется прозрачным цветом, null установит для свойства значение null, это означает, что свойство назначения не имеет присоединенной кисти. В WPF часто важно установить кисть для элемента. Если вы, например, хотите отследить нажатия мыши в элементе, вы должны установить фон. Если вы не хотите устанавливать сплошной цвет (сделать его непрозрачным), вы можете использовать прозрачную кисть. Это можно сделать с помощью строкового значения «Прозрачный».
Разница заключается в том, как будет установлено свойство. Если вы назначите null для свойства кисти, для свойства будет действительно установлено значение null. Если вы установите строку «Прозрачный», преобразователь значений по умолчанию , который преобразует строку в кисти, преобразует ее в кисть Brushes.Transparent.

Краткая версия : {x:Null} устанавливает для свойства адресата значение null. «Прозрачный» устанавливает свойство назначения прозрачной кистью.

47
ответ дан zneak 17 March 2011 в 20:15
поделиться

Оба устанавливают локальное значение свойства Background. Первый устанавливает его на null, а второй устанавливает на Brushes.Transparent.

Есть несколько важных моментов, о которых следует помнить:

  • Установка значения null - это , а не - это то же самое, что не установка его вообще. Поскольку свойства зависимостей получают свое эффективное значение из нескольких источников , установка локального значения (даже если оно null) может иметь приоритет над значениями, которые могут быть получены из других источников, таких как стиль или анимация.
  • Другим вариантом управления видимостью теста на попадание является свойство IsHitTestVisible . Это свойство позволяет вам контролировать видимость теста удара независимо от кисти, с которой отображается UIElement.
21
ответ дан Kent Boogaart 17 March 2011 в 20:15
поделиться

{x:Null} не будет кликабельным, Transparent будет.

Также см. Это.

8
ответ дан Matěj Zábský 17 March 2011 в 20:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: