XAML中Button重绘为圆形

来源:互联网 发布:java培训班北京 编辑:程序博客网 时间:2024/06/05 02:51

在用XAML布局的时候,有时候为了使界面Metro化,有些Button要使用圆形代替默认的长方形。以下的Button样式可以解决这个问题,可以根据自己的需要再加以修改。当然如果你熟悉Bland的话可以直接使用它来绘制你需要的样式,但是贴代码是否更快一点呢?

 

<Style x:Key="btnNext" TargetType="Button">            <Setter Property="Template">                <Setter.Value>                    <ControlTemplate TargetType="Button">                        <Grid>                            <VisualStateManager.VisualStateGroups>                                <VisualStateGroup x:Name="CommonStates">                                    <VisualState x:Name="Pressed">                                        <Storyboard>                                            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" Storyboard.TargetName="rectangle">                                                <DiscreteObjectKeyFrame KeyTime="0">                                                    <DiscreteObjectKeyFrame.Value>                                                        <Thickness>-3</Thickness>                                                    </DiscreteObjectKeyFrame.Value>                                                </DiscreteObjectKeyFrame>                                            </ObjectAnimationUsingKeyFrames>                                        </Storyboard>                                    </VisualState>                                    <VisualState x:Name="Normal"/>                                    <VisualState x:Name="Disabled"/>                                    <VisualState x:Name="MouseOver"/>                                </VisualStateGroup>                                <VisualStateGroup x:Name="FocusStates">                                    <VisualState x:Name="Focused"/>                                </VisualStateGroup>                            </VisualStateManager.VisualStateGroups>                            <Rectangle x:Name="rectangle" RadiusY="25" RadiusX="25" Stroke="Blue" StrokeThickness="4">                            </Rectangle>                            <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>                        </Grid>                    </ControlTemplate>                </Setter.Value>            </Setter>            <Setter Property="Margin" Value="5"/>            <Setter Property="Width" Value="50"/>            <Setter Property="Height" Value="50"/>            <Setter Property="FontSize" Value="120"/>            <Setter Property="Foreground" Value="White"/>        </Style>

 


<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>