WPF教程

wpf 自定义的可拖动窗体--WPF教程

时间:2013-7-23 22:22:39  作者:WPF之家  来源:http://www.wpf123.com  查看:2919  评论:3
内容摘要: 组成部分:path对象绘制边框,label下的字符串,自定义按钮控件xaml代码:<Window x:Class="CustomWindow.MainWindow" xmlns="http://schemas.micr...

 

组成部分:path对象绘制边框,label下的字符串,自定义按钮控件


xaml代码:



<Window x:Class="CustomWindow.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        Title="MainWindow" Height="350" Width="525" Background="Transparent" AllowsTransparency="True" WindowStyle="None"        MouseLeftButtonDown="Window_MouseLeftButtonDown">    <!--窗口的形状都绘制在Canvas面板里面-->    <Canvas Width="200" Height="200" >        <!--窗口的轮廓-->        <Path Stroke="DarkGray" StrokeThickness="2">            <Path.Fill>                <LinearGradientBrush StartPoint="0.2,0" EndPoint="0.8,1" >                    <GradientStop Color="White"  Offset="0"></GradientStop>                    <GradientStop Color="White"  Offset="0.45"></GradientStop>                    <GradientStop Color="LightBlue" Offset="0.9"></GradientStop>                    <GradientStop Color="Gray" Offset="1"></GradientStop>                </LinearGradientBrush>            </Path.Fill>            <Path.Data>                <PathGeometry>                    <PathFigure StartPoint="40,20" IsClosed="True">                        <LineSegment Point="160,20"></LineSegment>                        <ArcSegment Point="180,40" Size="20,20" SweepDirection="Clockwise"></ArcSegment>                        <LineSegment Point="180,80"></LineSegment>                        <ArcSegment Point="160,100" Size="20,20" SweepDirection="Clockwise"></ArcSegment>                        <LineSegment Point="90,100"></LineSegment>                        <LineSegment Point="90,150"></LineSegment>                        <LineSegment Point="60,100"></LineSegment>                        <LineSegment Point="40,100"></LineSegment>                        <ArcSegment Point="20,80" Size="20,20" SweepDirection="Clockwise"></ArcSegment>                        <LineSegment Point="20,40"></LineSegment>                        <ArcSegment Point="40,20" Size="20,20" SweepDirection="Clockwise"></ArcSegment>                    </PathFigure>                </PathGeometry>            </Path.Data>        </Path>        <!--“拖动我!”的标签-->        <Label Width="200" Height="120" FontSize="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center">拖动我!</Label>        <!--关闭按钮-->        <Button Canvas.Left="155" Canvas.Top="30" Click="Button_Click">            <Button.Template>                <ControlTemplate>                    <Canvas>                        <Rectangle Width="15" Height="15" Stroke="Black" RadiusX="3" RadiusY="3">                            <Rectangle.Fill>                                <SolidColorBrush x:Name="myAnimatedBrush" Color="Red" />                            </Rectangle.Fill>                        </Rectangle>                        <Line X1="3" Y1="3" X2="12" Y2="12" Stroke="White" StrokeThickness="2"></Line>                        <Line X1="12" Y1="3" X2="3" Y2="12" Stroke="White" StrokeThickness="2"></Line>                    </Canvas>                </ControlTemplate>            </Button.Template>        </Button>    </Canvas></Window>

后台代码:

  public partial class MainWindow : Window

    {        public MainWindow()        {            InitializeComponent();        }        private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)        {            this.DragMove();        }        private void Button_Click(object sender, RoutedEventArgs e)        {            this.Close();        }    }

标签:自定 自定义 定义 拖动 

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。本文出自“wpf之家”,请务必保留此出处:http://www.wpf123.com

相关评论
Copyright © 2009-2014 WPF之家(http://www.wpf123.com/) All rights reserved
 Powered by WPF之家
鄂ICP备13006396号