Xaml WinRT-用于透明PNG的ImageButton
我使用XAML工具包ImageButton控件来创建按钮的正常和按下状态。代码是:Xaml WinRT-用于透明PNG的ImageButton,xaml,windows-runtime,winrt-xaml,winrt-xaml-toolkit,Xaml,Windows Runtime,Winrt Xaml,Winrt Xaml Toolkit,我使用XAML工具包ImageButton控件来创建按钮的正常和按下状态。代码是: <toolkit:ImageButton NormalStateImageSource="ms-appx:///Assets/1_off.png" PressedStateImageSource="ms-appx:///Assets/1_on.png" Width="500"
<toolkit:ImageButton NormalStateImageSource="ms-appx:///Assets/1_off.png"
PressedStateImageSource="ms-appx:///Assets/1_on.png"
Width="500"
Height="200">
</toolkit:ImageButton>
我面临的问题是,假设我有一个不是矩形或正方形的形状。例如,我有星星和箭头对象的PNG。有没有办法将它们的边界设置为与形状相对应?如果没有,请建议处理此类情况的最佳方法。我尝试了两种选择
- 优点:
- 它比选项2简单
- 你能得到最准确的信息
- 缺点:
- 您无法判断按钮是通过鼠标、触摸、笔、键盘还是“讲述人”使用自动化单击的,因此您可能会因为鼠标光标有点偏离而过滤掉键盘单击。您可能会使用一些启发式方法,比如在单击事件之前指针移动或指针下降事件发生在多长时间之前,但这有点不可靠
Fill=“Transparent”
的path
元素放在按钮模板中,然后将任何其他非透明或可点击测试的模板元素(按钮、边框和背景=“Transparent”等)标记为ishitestvisible=“false”
- 优点:
- 不会破坏任何输入法
- 可能相当精确
- 对于某些形状,如圆形,
可能非常简单,或者您甚至可以使用类似于Path.Data
椭圆的元素
- 缺点:
- 您需要以某种方式生成路径
- 复杂的路径可能会对性能产生不利影响