Лучший отвечающий
WPF Элемент "прозрачный" для клика

Вопрос
-
В моем wpf приложении имеется прозрачное окно с параметром AllowsTransparency="True"
В прозрачных участках окна клики проходят на сквозь как и нужно мне, но на элементах тип TextBlock которые не прозрачны, клики не проходят, как сделать непрозрачные элементы сквозными для кликов?
23 марта 2016 г. 17:13
Ответы
-
Тогда ознакомтесь с этими темами:
- Click through windows and child image issue
- How to create a semi transparent window in WPF that allows mouse events to pass through
Другие предложения, которые встретились - брать абсолютную позицию курсора и передавать нажатие как глобальное событие через PInvoke, но более конкретной информации не было.
Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
- Помечено в качестве ответа Rusreg 24 марта 2016 г. 18:08
- Снята пометка об ответе Rusreg 24 марта 2016 г. 18:08
- Помечено в качестве ответа Rusreg 25 марта 2016 г. 14:53
- Изменено Maksim MarinovMicrosoft contingent staff, Moderator 28 марта 2016 г. 6:03
24 марта 2016 г. 13:35Модератор
Все ответы
-
Здравствуйте,
Думаю вас интересует:
<TextBlock IsHitTestVisible="False" .../>
Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
24 марта 2016 г. 9:05Модератор -
Здравствуйте,
Думаю вас интересует:
<TextBlock IsHitTestVisible="False" .../>
Это свойство как я понял нужно если есть два элемента друг над другом и надо передать клик нижнему сквозь верхний. В моем случае это не помогает, мне надо что бы кликнув на TextBlock, этот клик прошел до рабочего стола.
24 марта 2016 г. 12:35 -
Тогда ознакомтесь с этими темами:
- Click through windows and child image issue
- How to create a semi transparent window in WPF that allows mouse events to pass through
Другие предложения, которые встретились - брать абсолютную позицию курсора и передавать нажатие как глобальное событие через PInvoke, но более конкретной информации не было.
Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
- Помечено в качестве ответа Rusreg 24 марта 2016 г. 18:08
- Снята пометка об ответе Rusreg 24 марта 2016 г. 18:08
- Помечено в качестве ответа Rusreg 25 марта 2016 г. 14:53
- Изменено Maksim MarinovMicrosoft contingent staff, Moderator 28 марта 2016 г. 6:03
24 марта 2016 г. 13:35Модератор -
Спасибо за ссылки, это почти то что нужно! Только не разобрался, можно ли этот метод применить не ко всему окну а только например к TextBlock, потому что теперь невозможно нажимать кнопки, так как клики проходят сквозь их тоже )24 марта 2016 г. 16:17
-
Здравствуйте,
К сожалению данный вариант работает только на все окно, т.е. никакие кнопки работать не будут. Во второй теме, второй ответ упомянул про заполнение через x:Null, в нескольких местах тоже упомянали такую возможность, но конкретных примеров нет.
Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
25 марта 2016 г. 7:32Модератор -
Из того что имеется придется делать так, делать два окна, первое кликабельное с кнопочками, а второе не кликабельное с текстовыми элементами, и биндить первое окно ко второму по свойствам размеров и позиции для синхронизации.25 марта 2016 г. 14:53