none
在XAML页中创建了一个BUTTON控件,如何实现磁贴效果(当我点击这个控件时,按钮下凹)? RRS feed

  • 问题

  • 如题,在XAML页中创建了一个BUTTON控件,如何实现磁贴效果(当我点击这个控件时,按钮下凹)? 还有 ,当我点击这个控件的时候,控件呈现一种被选中的状态,控件会显示一种被选中的颜色,请问这个颜色如何取消?

    这两个问题请都给出一个代码示例,谢谢!

    2015年3月27日 4:15

答案

  • 先在Page结点下添加一个Resources
        <Page.Resources>
            <Style x:Key="ButtonStyle1" TargetType="Button">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="Button">
                            <Grid x:Name="Grid" Background="Transparent">
                                <VisualStateManager.VisualStateGroups>
                                    <VisualStateGroup x:Name="CommonStates">
                                        <VisualState x:Name="Normal" />
                                        <VisualState x:Name="PointerOver" />
                                        <VisualState x:Name="Pressed">
                                            <Storyboard>
                                                <PointerDownThemeAnimation TargetName="Grid" />
                                            </Storyboard>
                                        </VisualState>
                                        <VisualState x:Name="Disabled">
                                        </VisualState>
                                    </VisualStateGroup>
                                </VisualStateManager.VisualStateGroups>
                                <Border x:Name="Border" Background="Red"  Height="150" Width="150">
                                    <ContentPresenter x:Name="ContentPresenter" Foreground="{TemplateBinding Foreground}"
                                    HorizontalAlignment="Left"
                                    VerticalAlignment="Bottom" Margin="5"
                                    Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" />
                                </Border>
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </Page.Resources>
    然后在Button里使用这个Style Style=“{StaticResource ButtonStyle1}” 然后按钮外观就变得和磁贴一样,按下去也没有系统的主题色
    2015年3月28日 16:42