c# wpf перекрывающиеся средства управления, не получающие события от нажатия мыши

Это действительно зависит от приобретения знаний Вашего брата стиля. Многие люди учатся быстрее путем получения их рук грязный & просто войдя в него, кристаллизовав понятия и большое изображение, в то время как они прогрессируют и создают свое знание.

Меня, я предпочитаю запускаться с большого изображения и выполнять развертку в основные элементы. Первая вещь, которую я хотел знать, состояла в том, как все это совмещает тогда всю эту Объектно-ориентированную напыщенность речи, затем о классах & экземпляры и так далее. Мне нравится знать базовые понятия и немного теории, прежде чем я изучу синтаксис. У меня было определенное преимущество, потому что я записал некоторые игры в ОСНОВНЫЕ 20 лет назад, но ничего особенного с тех пор.

, Возможно, это полезно для тени, которую производственный процесс путем запуска с полного программного заявления, затем плана и/или блок-схемы, затем разрабатывает в некоторый псевдо код (склоняющийся к синтаксису, который Вы будете в конечном счете использовать), прежде на самом деле записать код.

золотое правило здесь состоит в том, чтобы разузнать стиль склонности Вашего студента.

5
задан 14 April 2009 в 13:01
поделиться

3 ответа

Мне показался интересным ваш пример кода, поэтому я попробовал ... но мне пришлось сделать небольшую модификацию, чтобы он правильно работал в моем материале.

Мне пришлось изменить код 2-е «if» в методе HitTestFilter, как показано ниже:

if (element == null || element.IsHitTestVisible)

Как видите, я удалил бесполезный элемент «element! = This» в конце (вы уже тестировали это условие в 1-м «if») и добавил «element = = null "в начале.

Почему? Поскольку в какой-то момент во время фильтрации тип параметра был System.Windows.Media.ContainerVisual, который не наследуется от UIElement, и поэтому element будет иметь значение null, а ContinueSkipSelfAndChildren будет возвращен. Но я не хочу пропускать дочерние элементы, потому что мой холст содержится внутри его дочерних элементов.

0
ответ дан 15 December 2019 в 06:35
поделиться

Я думаю, что вы должны использовать события предварительного просмотра, потому что это RoutingStrategy.Tunnel от Window к самому высокому контролю в Z-Order, а обычными событиями являются RoutingStrategy.Bubble.

В этом RoutedEvents есть свойство Handle, когда это правда, система остановится, чтобы пройти по визуальному дереву, потому что кто-то использовал это событие.

3
ответ дан 15 December 2019 в 06:35
поделиться

Как и говорил @GuerreroTook, для решения этой проблемы следует использовать RoutedEvents от WPF (подробнее см. здесь .

0
ответ дан 15 December 2019 в 06:35
поделиться
Другие вопросы по тегам:

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