Xaml Xamarin图像按钮状态

Xaml Xamarin图像按钮状态,xaml,xamarin.forms,xamarin.uwp,Xaml,Xamarin.forms,Xamarin.uwp,我试图创建一个ImageButton,它在正常(未按下)状态和用户主动按下按钮的状态下使用不同的图像。我发现一篇文章使用VisualStateGroup根据状态更改按钮的外观: 我能够成功地使用它来更改图像。但是,如果我为“按下”状态设置了不同的图像,当我单击按钮时,它确实会按预期更改为新图像,但当我松开按钮时,它的视觉状态将继续显示按下的图像,并且在单击窗口中的其他位置之前不会返回到“正常”状态。我用于设置状态的XAML如下所示: <VisualStateManager

我试图创建一个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>

有人知道怎么做吗?我应该使用的状态是否与“按下”不同。还有别的办法吗


谢谢。

您可以使用release返回初始图像。 对我来说,它奏效了

<VisualState x:Name="Released">
  <VisualState.Setters>
      <Setter Property="Scale"
              Value="1" />
      <Setter Property="Source" 
              Value="Assets/changeuser.png" />
  </VisualState.Setters>
</VisualState>

您可以使用Released返回初始图像。 对我来说,它奏效了

<VisualState x:Name="Released">
  <VisualState.Setters>
      <Setter Property="Scale"
              Value="1" />
      <Setter Property="Source" 
              Value="Assets/changeuser.png" />
  </VisualState.Setters>
</VisualState>


这是UWP特有的吗?我刚刚在安卓系统下测试过,这似乎是UWP的一个问题。这仅仅是UWP实现中的一个bug吗?我可以在我这边重现你的问题,它在Android中工作,但在UWP中不工作,我已经在github报告了这个问题,任何更新,我都会让你知道,请稍等。这是UWP特有的吗?我刚刚在Android下测试了这个问题,这似乎确实是UWP的问题。这仅仅是UWP实现中的一个bug吗?我可以在我这边重现你的问题,它在Android中工作,但在UWP中不工作,我已经在github报告了这个问题,任何更新,我都会让你知道,请稍等。