AvaloniaUI 鼠标悬停按钮图片切换效果实现 (无 BitmapBrush)
以下是使用 AvaloniaUI 创建 hover 样式的按钮的示例代码:
<Button Name='MyButton' Content='Hover Button'>
<Button.Styles>
<Style Selector='Button'>
<Setter Property='Background'>
<Setter.Value>
<ImageBrush Stretch='Uniform' AlignmentX='Center' AlignmentY='Center'>
<ImageBrush.Source>
<Bitmap>Assets/normal.png</Bitmap>
</ImageBrush.Source>
</ImageBrush>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property='IsPointerOver' Value='True'>
<Setter Property='Background'>
<Setter.Value>
<ImageBrush Stretch='Uniform' AlignmentX='Center' AlignmentY='Center'>
<ImageBrush.Source>
<Bitmap>Assets/hover.png</Bitmap>
</ImageBrush.Source>
</ImageBrush>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Button.Styles>
</Button>
在上述示例中,我们创建了一个按钮并设置了背景为一个图片。使用 Style 元素和 Style.Triggers 元素来实现 hover 效果。当鼠标指针移动到按钮上时,IsPointerOver 属性值为 True,这时我们设置按钮的背景为另一张图片。
注意:这里使用了 ImageBrush 来设置背景,而不是使用 BitmapBrush,因为题目要求不能使用 BitmapBrush。
原文地址: https://www.cveoy.top/t/topic/nDGJ 著作权归作者所有。请勿转载和采集!