Как использовать прозрачное пространство управления изображениями в пользовательском контроле? - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть usercontrol, у которого есть изображение png, как показано ниже, я разработал его для замены пользовательской кнопки в uwp.Это работает, как и ожидалось, моя проблема в том, что usercontrol занимает все пространство прямоугольника базовой Canvas / Grid usercontrol вместо точного пространства изображения png, отображаемого в usercontrol.Посмотрите на изображение ниже, чтобы понять это.

enter image description here

Предположим, у меня есть несколько кнопок под этим пользовательским контролем, я не могу нажать Btn1, Btn6, Btn7.Я хочу нажать Btn5, но не могу щелкнуть Btn5, даже если он виден и не покрыт изображением usercontrol! (Но он находится внутри границ usercontrol) Ниже приведен код моего usecontrol:

...d:DesignWidth="1200">

<Canvas HorizontalAlignment="Stretch" VerticalAlignment="Stretch">

    <Image Stretch="Fill" 
           Canvas.Left="{x:Bind FocusLeft, Mode=OneWay}"
           Canvas.Top="{x:Bind FocusTop, Mode=OneWay}"
           Height="{x:Bind FocusHeight, Mode=OneWay}"
           Width="{x:Bind FocusWidth, Mode=OneWay}"
           Source="arrowsmall.png"
           HorizontalAlignment="Center" />

</Canvas>

1 Ответ

0 голосов
/ 14 февраля 2019

Глядя на ваш XAML-код, я предполагаю, что изображение на экране не реагирует на нажатия и не взаимодействует непосредственно с пользователем.

Исходя из вышеизложенного предположения, вы можете добавить IsHitTestVisible="False" к изображению, которое позволит пользователю «щелкнуть» по изображению.

Но это, конечно, позволит пользователю «щелкнуть по» изображению и нажать кнопки 2,3 и 4. Таквам нужно будет добавить некоторые функции, которые вычисляют положение изображения и устанавливают кнопки непосредственно за ним также IsHitTestVisible="False".

...