WPF自定义圆形按钮样式

转帖链接:https://www.itsvse.com/thread-3348-1-1.html

 

 

新建Style.xaml,将一下代码填入,xmlns:local改为自己的

  1. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  2.                     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3.                     xmlns:local="clr-namespace:WpfTest">
  4.     <Style x:Key="RoundedGelButton" TargetType="Button">
  5.         <Setter Property="Width" Value="100"/>
  6.         <Setter Property="Height" Value="100"/>
  7.         <Setter Property="Foreground" Value="White"/>
  8.         <Setter Property="Template">
  9.             <Setter.Value>
  10.                 <ControlTemplate TargetType="{x:Type Button}">
  11.                     <Grid>
  12.                         <Ellipse Name="GelBackground" StrokeThickness="0.5" Fill="Black">
  13.                             <Ellipse.Stroke>
  14.                                 <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
  15.                                     <GradientStop Offset="0" Color="#ff7e7e7e"></GradientStop>
  16.                                       <GradientStop Offset="1" Color="Black"></GradientStop>
  17.                                 </LinearGradientBrush>
  18.                             </Ellipse.Stroke>
  19.                         </Ellipse>
  20.                         <Ellipse Margin="15,5,15,50">
  21.                             <Ellipse.Fill>
  22.                                  <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
  23.                                     <GradientStop Offset="0" Color="#aaffffff"></GradientStop>
  24.                                       <GradientStop Offset="1" Color="Transparent"></GradientStop>
  25.                                 </LinearGradientBrush>
  26.                             </Ellipse.Fill>
  27.                         </Ellipse>
  28.                         <ContentPresenter Name="GelButtonContent" VerticalAlignment="Center" HorizontalAlignment="Center"
  29.                                           Content="{TemplateBinding Content}"/>
  30.                     </Grid>
  31.                     <ControlTemplate.Triggers>
  32.                         <Trigger Property="IsMouseOver" Value="True">
  33.                             <Setter Property="Ellipse.Fill" TargetName="GelBackground">
  34.                                 <Setter.Value>
  35.                                     <RadialGradientBrush>
  36.                                           <GradientStop Offset="0" Color="Lime"></GradientStop>
  37.                                       <GradientStop Offset="1" Color="DarkGreen"></GradientStop>
  38.                                     </RadialGradientBrush>
  39.                                 </Setter.Value>
  40.                             </Setter>
  41.                         </Trigger>
  42.                          <Trigger Property="IsPressed" Value="True">
  43.                             <Setter Property="Ellipse.Fill" TargetName="GelBackground">
  44.                                 <Setter.Value>
  45.                                     <RadialGradientBrush>
  46.                                           <GradientStop Offset="0" Color="#ffcc34"></GradientStop>
  47.                                       <GradientStop Offset="1" Color="#cc9900"></GradientStop>
  48.                                     </RadialGradientBrush>
  49.                                 </Setter.Value>
  50.                             </Setter>
  51.                         </Trigger>
  52.                     </ControlTemplate.Triggers>
  53.                 </ControlTemplate>
  54.             </Setter.Value>
  55.         </Setter>
  56.     </Style>
  57. </ResourceDictionary>

在App.xmal文件中添加此资源文件

   ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Style.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>


在界面中使用

   <Button Style="{StaticResource RoundedGelButton}" Content="Click Me!"></Button>


 

localStyle资源

 

发布了45 篇原创文章 · 获赞 26 · 访问量 20万+
展开阅读全文

WPF自定义按钮问题 -- 样式相同图片不同

09-19

``` <UserControl x:Class="WpfApplication6.LeftButton" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300"> <UserControl.Resources> <Style x:Key="ListLeftButton" TargetType="{x:Type Button}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <Grid> <Rectangle x:Name="rectangle"> <Rectangle.Fill> <ImageBrush ImageSource="skin/01228[46x62x8BPP].png"/> </Rectangle.Fill> </Rectangle> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsFocused" Value="True"> <Setter Property="Fill" TargetName="rectangle"> <Setter.Value> <ImageBrush ImageSource="skin/01227[46x62x8BPP].png"/> </Setter.Value> </Setter> </Trigger> <Trigger Property="IsDefaulted" Value="True"/> <Trigger Property="IsMouseOver" Value="True"/> <Trigger Property="IsPressed" Value="True"> <Setter Property="Fill" TargetName="rectangle"> <Setter.Value> <ImageBrush ImageSource="skin/01226[46x62x8BPP].png"></ImageBrush> </Setter.Value> </Setter> </Trigger> <Trigger Property="IsEnabled" Value="False"/> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </UserControl.Resources> <StackPanel> <Button Style="{StaticResource ListLeftButton}" Width="50" Height="60"/> <Button Style="{StaticResource ListLeftButton}" Width="50" Height="60"/> <Button Style="{StaticResource ListLeftButton}" Width="50" Height="60"/> <Button Style="{StaticResource ListLeftButton}" Width="50" Height="60"/> <Button Style="{StaticResource ListLeftButton}" Width="50" Height="60"/> <Button Style="{StaticResource ListLeftButton}" Width="50" Height="60"/> </StackPanel> </UserControl> ``` 我利用模板自定义了按钮,这些按钮的样式都相同只是背景图片不一样,但我只会在模板中定义一张,要不同的按钮对应不同的图片应该怎么做呐?求解答,多谢 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览