Я пытаюсь создать ImageButton, который использует другое изображение для нормального (не нажатого) состояния и состояния, когда пользователь активно нажимает кнопку. Я нашел статью, которая использует VisualStateGroup для изменения внешнего вида кнопки в зависимости от состояния:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/imagebutton#imagebutton-visual-states
Я могу успешно использовать это, чтобы изменить изображение. Однако, если я устанавливаю другое изображение для состояния «Нажатие», при нажатии на кнопку оно меняется на новое изображение, как и ожидалось, но когда я отпускаю кнопку, его визуальное состояние продолжает отображать нажатое изображение и не вернитесь в нормальное состояние, пока я не нажму где-нибудь в окне. 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>
Кто-нибудь знает, как заставить это работать? Есть ли другое состояние, чем «нажата», который я должен использовать. Есть ли другой способ сделать это?
Спасибо.