WPF三角形、圆形按钮

例子简单,代码更简单。
< Window
    xmlns
= " http://schemas.microsoft.com/winfx/2006/xaml/presentation "
    xmlns:x
= " http://schemas.microsoft.com/winfx/2006/xaml "
    x:Class
= " Custom_Button.Window1 "
    x:Name
= " Window "
    Title
= " 圆形按钮 "
    Width
= " 600 "  Height = " 480 " >

    
< Grid x:Name = " LayoutRoot " >

        
< Grid.RowDefinitions >
            
< RowDefinition />
        
Grid.RowDefinitions >

        
< Button Grid.Column = " 0 "  Grid.Row = " 0 "  Height = " 400 "  Width = " 400 "  HorizontalAlignment = " Left "  VerticalAlignment = " Top "  Content = " Button "  Template = " {DynamicResource ButtonControlTemplate1} "  Cursor = " Hand " >
            
< Button.Resources >
                
< ControlTemplate x:Key = " ButtonControlTemplate1 "  TargetType = " {x:Type Button} " >
                    
< Grid >
                        
< Ellipse x:Name = " ButtonEllipse "  Width = " Auto "  Height = " Auto "  StrokeThickness = " 4 "  Fill = " White "  Stroke = " Gray " > Ellipse >
                        
< Polygon x:Name = " ButtonPolygon "  Points = " 20,200 300,50 300,350 "  Stroke = " White "  StrokeThickness = " 2 " >
                            
< Polygon.Fill >
                                
< SolidColorBrush Color = " Gray "  Opacity = " 0.4 " />
                            
Polygon.Fill >
                        
Polygon >
                    
Grid >
                    
< ControlTemplate.Triggers >
                        
< Trigger Property = " IsMouseOver "  Value = " True " >
                            
< Setter TargetName = " ButtonPolygon "  Property = " Fill "  Value = " Black " > Setter >
                        
Trigger >
                        
< Trigger Property = " IsPressed "  Value = " True " >
                            
< Setter TargetName = " ButtonPolygon "  Property = " Fill "  Value = " Gray " />
                        
Trigger >
                    
ControlTemplate.Triggers >
                
ControlTemplate >
            
Button.Resources >
        
Button >
    
Grid >
Window >




修改后三角形自动放大



   

       
           
       


        

       
   



自定义控件上使用代创建

xaml:

             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="439" d:DesignWidth="437" Loaded="UserControl_Loaded">
    
   
       
           
               
                   
                       
                   

               

           

           
               
                   
               

               
                   
               

           

       

   

    
    


code:

    public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }

        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            Button button1 = new Button();
            this.AddChild(button1);
            button1.Template = (ControlTemplate)(this.Resources["ButtonControlTemplate1"]);
            button1.Click += button1_Click;
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("sss");
        }


    }

你可能感兴趣的:(C#)