WPF窗体(5)下

2016-08-20 10:35:39来源:http://studybao.blog.51cto.com/1772164/1135490作者:StudyBao人点击


三、其他窗体相关的属性、方法、事件


WPF窗体的详细的属性、方法、事件请参考MSDN,有很多的属性、方法、事件与Windows应用程序中System.Windows.Forms.Form类相同或近似,其中常用的一些属性、方法、事件有:


·窗体边框模式(WindowStyle属性)和是否允许更改窗体大小(ResizeMode属性)


·窗体启动位置(WindowStartupLocation属性)和启动状态(WindowState属性)


·窗体标题(Title属性)


·始终在最前(TopMost属性)


·是否显示在任务栏(ShowInTaskbar)


四、定义异形窗体


使用异形窗体,可以将窗体的背景设置为透明,边框设置为空,然后利用控件做出异形的窗体,例如:


XAML:


<Windowx:Class="WpfWindow.CustomerWindow"


xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"


xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"


Title="NonRectangularWindowSample"SizeToContent="WidthAndHeight"


MouseLeftButtonDown="NonRectangularWindow_MouseLeftButtonDown"


WindowStyle="None"


AllowsTransparency="True"


Background="Transparent">


<CanvasWidth="200"Height="200">


<PathStroke="DarkGray"StrokeThickness="2">


<Path.Fill>


<LinearGradientBrushStartPoint="0.2,0"EndPoint="0.8,1">


<GradientStopColor="White"Offset="0"></GradientStop>


<GradientStopColor="White"Offset="0.45"></GradientStop>


<GradientStopColor="LightBlue"Offset="0.9"></GradientStop>


<GradientStopColor="Gray"Offset="1"></GradientStop>


</LinearGradientBrush>


</Path.Fill>


<Path.Data>


<PathGeometry>


<PathFigureStartPoint="40,20"IsClosed="True">


<LineSegmentPoint="160,20"></LineSegment>


<ArcSegmentPoint="180,40"Size="20,20"SweepDirection="Clockwise"></ArcSegment>


<LineSegmentPoint="180,80"></LineSegment>


<ArcSegmentPoint="160,100"Size="20,20"SweepDirection="Clockwise"></ArcSegment>


<LineSegmentPoint="90,100"></LineSegment>


<LineSegmentPoint="90,150"></LineSegment>


<LineSegmentPoint="60,100"></LineSegment>


<LineSegmentPoint="40,100"></LineSegment>


<ArcSegmentPoint="20,80"Size="20,20"SweepDirection="Clockwise"></ArcSegment>


<LineSegmentPoint="20,40"></LineSegment>


<ArcSegmentPoint="40,20"Size="20,20"SweepDirection="Clockwise"></ArcSegment>


</PathFigure>


</PathGeometry>


</Path.Data>


</Path>


<LabelWidth="200"Height="120"FontSize="15"HorizontalContentAlignment="Center"VerticalContentAlignment="Center">DragMe</Label>


<ButtonCanvas.Left="155"Canvas.Top="30"Click="closeButtonRectangle_Click">


<Button.Template>


<ControlTemplate>


<Canvas>


<RectangleWidth="15"Height="15"Stroke="Black"RadiusX="3"RadiusY="3">


<Rectangle.Fill>


<SolidColorBrushx:Name="myAnimatedBrush"Color="Red"/>


</Rectangle.Fill>


</Rectangle>


<LineX1="3"Y1="3"X2="12"Y2="12"Stroke="White"StrokeThickness="2"></Line>


<LineX1="12"Y1="3"X2="3"Y2="12"Stroke="White"StrokeThickness="2"></Line>


</Canvas>


</ControlTemplate>


</Button.Template>


</Button>


</Canvas>


</Window>


代码文件:


namespaceWpfWindow


{publicpartialclassCustomerWindow:Window


{


publicCustomerWindow()


{InitializeComponent();}


voidNonRectangularWindow_MouseLeftButtonDown(objectsender,MouseButtonEventArgse)


{this.DragMove();}


voidcloseButtonRectangle_Click(objectsender,RoutedEventArgse)


{this.Close();}}}


运行效果如下图:






最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台