我正在尝试创建一个ImageButton,它将正常(未按下)状态和用户积极按下按钮的状态使用不同的图像。我找到了一篇文章,该文章使用VisualStateGroup根据状态更改按钮的外观:
我能够成功地使用它来更改图像。但是,如果我为“ Pressed”状态设置了其他图像,则当我单击按钮时,它确实会按预期更改为新图像,但是当我释放按钮时,其视觉状态会继续显示按下的图像,但不会返回到“正常”状态,直到我在窗口中的其他位置单击为止。我用来设置状态的XAML如下:
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal">
<VisualState.Setters>
<Setter Property="Scale"
Value="1" />
<Setter Property="Source" Value="Assets/changeuser.png" />
</VisualState.Setters>
</VisualState>
<VisualState x:Name="Pressed">
<VisualState.Setters>
<Setter Property="Scale"
Value="0.8" />
<Setter Property="Source" Value="Assets/changeuser_highlight.png" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
有人知道如何进行这项工作吗?是否有与我应该使用的“已按下”状态不同的状态。还有其他方法吗?
谢谢。
答案 0 :(得分:0)
您可以使用Released返回初始图像。 对我来说,它奏效了。
<VisualState x:Name="Released">
<VisualState.Setters>
<Setter Property="Scale"
Value="1" />
<Setter Property="Source"
Value="Assets/changeuser.png" />
</VisualState.Setters>
</VisualState>