自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WPF 如何修改button圓角(經(jīng)典)

開發(fā) 前端
本人想設(shè)置Button為圓角,奈何搜索百度,找到的全是坑爹答案,現(xiàn)總結(jié)如下:1. 需要添加button 的template.2. 設(shè)置border的時候,必須要設(shè)置background, 否則會提示content 被多次使用。

 [[381159]]

本人想設(shè)置Button為圓角,奈何搜索百度,找到的全是坑爹答案,現(xiàn)總結(jié)如下:

1. 需要添加button 的template.

2. 設(shè)置border的時候,必須要設(shè)置background, 否則會提示content 被多次使用。

  1. <Button Grid.Row="3" Grid.Column="2" Content="取消" Margin="30,40,200,40" > 
  2.                 <Button.Template > 
  3.                     <ControlTemplate TargetType="{x:Type Button}" > 
  4.                         <Border BorderBrush="{TemplateBinding Control.BorderBrush}" BorderThickness="1" CornerRadius="7,7,7,7"
  5.                             <Border.Background>#FFDDDDDD</Border.Background> 
  6.                             <ContentPresenter Content="{TemplateBinding ContentControl.Content}" HorizontalAlignment="Center" VerticalAlignment="Center" ></ContentPresenter> 
  7.                         </Border> 
  8.                     </ControlTemplate> 
  9.                 </Button.Template> 
  10.             </Button> 

我們只需要在XAML中給他添加幾行代碼就可以做成圓角形狀。

  1. <Button x:Name="button" Content="按鈕" FontSize="40" BorderThickness="0" HorizontalAlignment="Left" Margin="25,58,0,0" VerticalAlignment="Top" Width="472" Height="200" Foreground="White"
  2.       <Button.Template> 
  3.            <ControlTemplate TargetType="{x:Type Button}"
  4.                <Border BorderThickness="1" BorderBrush="Black" CornerRadius="30" Background="{TemplateBinding Background}"
  5.                    <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"/> 
  6.                </Border> 
  7.            </ControlTemplate> 
  8.        </Button.Template> 
  9. </Button> 

屬性解析:

BorderThickness:邊框的大小

BorderBrush:邊框的顏色

CornerRadius:圓角的大小

Background:背景顏色"{TemplateBinding Background}":這個就是使用上面<Button>的Background屬性值作為他的值

<ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"/>:文字垂直居中對齊

加個漸變色

  1. <Button x:Name="button" Content="按鈕" FontSize="40" BorderThickness="0" HorizontalAlignment="Left" Margin="25,58,0,0" VerticalAlignment="Top" Width="472" Height="200" Foreground="White"
  2.             <Button.Background> 
  3.                 <LinearGradientBrush EndPoint="1,1" StartPoint="0,0"
  4.                     <GradientStop Color="#FFC564B8" Offset="0"/> 
  5.                     <GradientStop Color="#FFF57A7A" Offset="1"/> 
  6.                 </LinearGradientBrush> 
  7.             </Button.Background> 
  8.             <Button.Template> 
  9.                 <ControlTemplate TargetType="{x:Type Button}"
  10.                     <Border BorderThickness="1" CornerRadius="30" Background="{TemplateBinding Background}"
  11.                         <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"/> 
  12.                     </Border> 
  13.                 </ControlTemplate> 
  14.             </Button.Template> 
  15.         </Button> 

如圖:

項目實例:

把樣式和空間模板放到資源中,然后去引用

  1. <Window x:Class="WpfApp18.MainWindow" 
  2.         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  3.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  4.         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
  5.         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
  6.         xmlns:local="clr-namespace:WpfApp18" 
  7.         mc:Ignorable="d" 
  8.         Title="MainWindow" Height="450" Width="800"
  9.     <Window.Resources > 
  10.         <ResourceDictionary > 
  11.             <Style x:Key="dgButton" TargetType="Button" > 
  12.                 <Setter Property="FontSize" Value="40"/> 
  13.                 <Setter Property="Content" Value="按鈕"/> 
  14.                 <Setter Property="Foreground" Value="White"/> 
  15.                 <Setter Property="Background"
  16.                     <Setter.Value> 
  17.                         <!--<RadialGradientBrush> 
  18.                         <GradientStop Color="#FFC564B8" Offset="0"/> 
  19.                         <GradientStop Color="#FFF57A7A" Offset="1"/> 
  20.                     </RadialGradientBrush>--> 
  21.                         <LinearGradientBrush EndPoint="1,1" StartPoint="0,0"
  22.                             <GradientStop Color="#FFC564B8" Offset="0"/> 
  23.                             <GradientStop Color="#FFF57A7A" Offset="1"/> 
  24.                         </LinearGradientBrush> 
  25.                     </Setter.Value> 
  26.                 </Setter> 
  27.             </Style > 
  28.             <ControlTemplate x:Key="buttonTemplate" TargetType="Button" > 
  29.                 <Border BorderThickness="1" CornerRadius="30" Background="{TemplateBinding Background}"
  30.                     <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"/> 
  31.                 </Border> 
  32.                 <!--<Grid > 
  33.                     <Ellipse Name="faceEllipse" Height="50" Width="100" Fill="{TemplateBinding Button.Background}"/> 
  34.                     <TextBlock Name="txtBlock"  /> 
  35.                 </Grid >--> 
  36.                 <ControlTemplate.Triggers > 
  37.                     <Trigger Property="Button.IsMouseOver" Value="True"
  38.                         <Setter Property="Button.Background" Value="blue"/> 
  39.                     </Trigger > 
  40.                 </ControlTemplate.Triggers > 
  41.             </ControlTemplate > 
  42.         </ResourceDictionary > 
  43.     </Window.Resources > 
  44.     <Grid> 
  45.         <Button Height="200" HorizontalAlignment="Center" Name="button1" VerticalAlignment="Center" Width="400" Style ="{StaticResource dgButton}" Template="{StaticResource  buttonTemplate}"/> 
  46.     </Grid> 
  47. </Window> 

本文轉(zhuǎn)載自微信公眾號「CSharp編程大全」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系CSharp編程大全公眾號。


【編輯推薦】

 

責(zé)任編輯:武曉燕 來源: CSharp編程大全
相關(guān)推薦

2009-09-11 10:25:35

C# button樣式

2025-01-16 08:52:45

2009-09-10 17:48:05

C# button

2009-12-24 15:59:46

WPF圖像格式

2010-03-30 10:12:41

Nginx php.i

2009-04-27 09:41:01

C#WPFTemplate

2009-12-24 16:57:53

WPF密碼

2022-07-11 21:52:29

CSS濾鏡構(gòu)建圓角

2014-09-24 11:42:46

AndroidButton

2018-03-05 21:39:38

AWSIoT Button網(wǎng)絡(luò)

2009-09-11 09:17:00

C# Button

2012-02-08 10:16:43

WPF

2023-01-16 08:11:49

Edge瀏覽器

2011-07-21 16:10:11

button按鈕jQuery Mobi

2013-07-24 18:14:36

Android開發(fā)學(xué)習(xí)Android UIButton

2010-01-26 10:02:51

Android But

2022-01-06 07:18:18

Kafka選舉Leader

2010-08-26 15:59:38

DIV圓角

2013-07-29 11:34:46

iOS開發(fā)iOS開發(fā)學(xué)習(xí)設(shè)置UITextVie

2009-12-24 15:53:19

WPF API
點贊
收藏

51CTO技術(shù)棧公眾號