none
WPF Элемент "прозрачный" для клика RRS feed

  • Вопрос

  • В моем wpf приложении имеется прозрачное окно с параметром AllowsTransparency="True"

    В прозрачных участках окна клики проходят на сквозь как и нужно мне, но на элементах тип TextBlock которые не прозрачны, клики не проходят, как сделать непрозрачные элементы сквозными для кликов?

    23 марта 2016 г. 17:13

Ответы

  • Тогда ознакомтесь с этими темами:

    Другие предложения, которые встретились - брать абсолютную позицию курсора и передавать нажатие как глобальное событие через 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
  • Тогда ознакомтесь с этими темами:

    Другие предложения, которые встретились - брать абсолютную позицию курсора и передавать нажатие как глобальное событие через 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