我正在尝试在WPF中创建自定义图像控件,它将有3个状态
此控件将显示图像,但在鼠标悬停时,它将检查是否有多个图像或单个图像。因此将有两个鼠标悬停案例
我们可以使用触发器在鼠标悬停时更改图像,但是如果
我所取得的成就是非常基本的东西,我之前没有提到过。
<Style TargetType="{x:Type Image}">
<Setter Property="Source" Value="Resources\2.png" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<!-- Hover image -->
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Source" Value="Resources\3.png"/>
</Trigger>
</Style.Triggers>
</Style>
现在可能需要做的是添加dynanic源但我感到困惑的是我如何添加条件触发器并根据源提供不同的行为。
答案 0 :(得分:0)
对于任何有兴趣的人,我通过创建BitmapImage列表并将所有图像添加到列表中来实现此目的。然后我重写OnMouseEnter和OnMouseLeave。
OnMouseEnter如果列表中有多个图像,我启动了一个计时器。在计时器结束时,我使用列表中的下一个图像更新了图像源。
当OnMouseLeave事件发生时,我使用列表零索引处的图像重置图像源。这是主要形象。
我使用INotifyPropertyChanged将图像源绑定到属性。