Когда Background=null
, он не выдает команду рисования MILCore при рендеринге и не учитывает всю область элемента управления при тестировании попадания.
Когда Background=Transparent
, он выдает обычную команду рисования MILCore при рендеринге и контролирует всю область при тестировании попадания.
Brushes.Transparent
на самом деле обычная кисть с нулевым альфа-каналом (непрозрачностью). Из-за этого он действует как обычный цвет в большинстве ситуаций. Если бы фон был обычного цвета, щелчки мыши были бы обнаружены, поэтому они также обнаруживаются для Brushes.Transparent
.
Тем не менее, есть несколько мест, где код обнаруживает Brushes.Transparent и оптимизирует его, полностью пропуская команду рисования. Например, это происходит для взаимодействия прозрачности окна с операционной системой: ОС не информируется о том, что какие-либо области, отмеченные Brushes.Transparent
, являются частью приложения, поэтому нажатие на нее ничего не делает. Для этого используется специальный корпус Brushes.Transparent
.