Create a non-rectangular window : Window Style « Windows Presentation Foundation « VB.Net Tutorial






<Window x:Class="NonRectangularWindowSample.NonRectangularWindow"
  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">
  <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="Red"  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>
            <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">Drag Me</Label>
    <Button Canvas.Left="155" Canvas.Top="30" Click="closeButtonRectangle_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>
//File:Window.xaml.vb
Imports System
Imports System.Windows
Imports System.Windows.Input

Namespace NonRectangularWindowSample

  Public Partial Class NonRectangularWindow
    Inherits Window

    Public Sub New()
      InitializeComponent()
    End Sub

    Private Sub NonRectangularWindow_MouseLeftButtonDown(sender As Object, e As MouseButtonEventArgs)
      Me.DragMove()
    End Sub

    Private Sub closeButtonRectangle_Click(sender As Object, e As RoutedEventArgs)
      Me.Close()
    End Sub
  End Class
End Namespace
WPF Create A Nonrectangular Window








16.59.Window Style
16.59.1.Change window cursorChange window cursor
16.59.2.Non-Rectangular windowNon-Rectangular window
16.59.3.Transparent WindowTransparent Window
16.59.4.Create a non-rectangular windowCreate a non-rectangular window
16.59.5.Windows Transparent BackgroundWindows Transparent Background