Фокус кнопки визуальное состояние и геймпад

Я хочу иметь пользовательскую закругленную кнопку, когда она сфокусирована, она должна менять цвет внутри элемента управления границей.

 <Style x:Key="MyButtonStyle" TargetType="Button">
        <Setter Property="Margin" Value="0" />
        <Setter Property="HorizontalAlignment" Value="Stretch" />
        <Setter Property="VerticalAlignment" Value="Stretch" />

        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Grid Background="{TemplateBinding Background}" >
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal">
                                    <VisualState.Setters>
                                        <Setter Target="BorderRadius.BorderBrush" Value="Green" />
                                        <Setter Target="BorderRadius.Background" Value="Transparent" />
                                    </VisualState.Setters>
                                </VisualState>
                                <VisualState x:Name="PointerOver">
                                    <VisualState.Setters>
                                        <Setter Target="BorderRadius.BorderBrush" Value="White" />
                                        <Setter Target="BorderRadius.Background" Value="Blue" />
                                    </VisualState.Setters>
                                </VisualState>
                                <VisualState x:Name="Pressed">
                                    <VisualState.Setters>
                                        <Setter Target="BorderRadius.BorderBrush" Value="White" />
                                        <Setter Target="BorderRadius.Background" Value="Blue" />
                                    </VisualState.Setters>
                                </VisualState>
                                <VisualState x:Name="Focus" >
                                    <Storyboard>
                                        <ColorAnimation Storyboard.TargetName="BorderRadius" Storyboard.TargetProperty="BorderBrush" To="Blue"/>
                                    </Storyboard>
                                    <!--<VisualState.Setters>
                                        <Setter Target="BorderRadius.BorderBrush" Value="White"/>
                                        <Setter Target="BorderRadius.Background" Value="Blue"/>
                                    </VisualState.Setters>-->
                                </VisualState>
                            </VisualStateGroup>                                               
                        </VisualStateManager.VisualStateGroups>
                        <StackPanel>
                            <Border
                                x:Name="BorderRadius"
                                BorderThickness="1"
                                CornerRadius="22"
                                VerticalAlignment="Center"
                                HorizontalAlignment="Left"
                                >
                                <TextBlock
                                    x:Name="MyText"
                                    Text="{TemplateBinding Content}"
                                    FontFamily="{TemplateBinding FontFamily}"
                                    HorizontalAlignment="Center"
                                    VerticalAlignment="Center"
                                    FontSize="{TemplateBinding FontSize}"
                                    />
                            </Border>
                        </StackPanel>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

На xbox "нормальное", "нажатое" визуальное состояние работает нормально, но я не могу использовать визуальное состояние "фокус", то есть не могу изменить его цвет при использовании геймпада. Когда я использую левый джойстик для кнопки, появляется черная граница кнопки по умолчанию, но визуальное состояние "фокус" не срабатывает.

0 ответов

Другие вопросы по тегам