Я работаю над проектом Windows Phone 8. Моя проблема с этой кнопкой:Анимация для нажатой кнопки VisualState не срабатывает
<Button x:Name="decreaseFontButton" Foreground="{StaticResource GlobalBrush}">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Pressed">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Height" Storyboard.TargetName="decreaseFontButton">
<DiscreteObjectKeyFrame KeyTime="0" Value="70"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="BorderBrush" Storyboard.TargetName="decreaseFontButton" Completed="ObjectAnimationUsingKeyFrames_Completed_1">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource GlobalBrush}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Button.Content>
<Image Source="/Assets/Player/sub_minus.png" Width="28" Height="28"/>
</Button.Content>
</Button>
что ни одна из двух анимаций не срабатывает. Я попытался изменить имя VisualStateGroup на FocusState и имя VisualState до Сфокусировано, но я не видел никаких изменений. Не могли бы вы рассказать мне, что я делаю неправильно?
Я ценю ваше внимание!
Там нет ничего плохого в раскадровку, просто, как вы пытаетесь вызвать его. Это просто нужно сделать шаблоном управления и объявить ресурс. Я бы предложил посмотреть шаблон кнопки по умолчанию и как он использует VisualStateManager, если это не очень быстро показывает ваш ответ, мы можем показать вам, что вам не хватает, но вы не за горами. –
Большое спасибо за ваши усилия, я уже сделал это, визуальный результат стал таким, как ожидалось, но я до сих пор не понял, почему первоначальное решение не очень хорошо. –
Просто потому, что VisualStateManager не может быть применен непосредственно к UIElement, просто должен быть в шаблоне управления для UIElement TargetType. Ничего страшного, рад, что ты нашел свое средство. Cheers :) –