【发布时间】:2019-08-23 07:22:30
【问题描述】:
我正在尝试创建一个 ImageButton,它在正常(未按下)状态和用户主动按下按钮的状态下使用不同的图像。我找到了一篇文章,它使用 VisualStateGroup 根据状态改变按钮的外观:
我能够成功地使用它来更改图像。但是,如果我为“按下”状态设置了不同的图像,当我单击按钮时,它会按预期更改为新图像,但是当我释放按钮时,它的视觉状态会继续显示按下的图像并且不会返回“正常”状态,直到我单击窗口中的其他位置。我用来设置状态的 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>
有谁知道如何进行这项工作?是否有与我应该使用的“按下”不同的状态。有没有其他方法可以做到这一点?
谢谢。
【问题讨论】:
-
这是 UWP 特有的吗?
-
我刚刚在 Android 下测试了这个,它似乎确实是 UWP 的一个问题。这仅仅是 UWP 实现中的一个错误吗?
-
我可以在我身边重现您的问题,它适用于 Android,但不适用于 uwp,我已在 github 上报告此问题,如有更新,我会通知您,请稍等。
标签: xaml xamarin.forms xamarin.uwp