Событие Click, которое запускается только при нажатии на изображение tabitem [duplicate]

Типы ссылок по умолчанию равны null, чтобы указать, что они не ссылаются на какой-либо объект. Следовательно, если вы попытаетесь получить доступ к объекту, на который ссылаетесь, а его нет, вы получите исключение NullReferenceException.

Для Ex:

SqlConnection connection = null;
connection.Open();

Когда вы запускаете это кода, вы получите:

System.NullReferenceException: Object reference not set to an instance of an object.

Вы можете избежать этой ошибки, например, следующим образом:

if (connection != null){
    connection.Open();
}

Примечание. Чтобы избежать этой ошибки, вы всегда должны инициализировать свои объекты прежде чем пытаться что-либо сделать с ними.

39
задан mobileTofu 17 March 2011 в 21:15
поделиться

4 ответа

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

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

44
ответ дан zneak 4 September 2018 в 10:10
поделиться

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

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

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

{x:Null} не будет нажата, Transparent будет.

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

8
ответ дан Matěj Zábský 4 September 2018 в 10:10
поделиться

Элементы с фоном Transparent получают события щелчка мыши при нажатии на фон, элементы с Null этого не делают.

4
ответ дан Snowbear 4 September 2018 в 10:10
поделиться
Другие вопросы по тегам:

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