<Window x:Class="Windows.ModernWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ModernWindow" Height="300" Width="300"
AllowsTransparency="True" Background="Transparent"
WindowStyle="None" ResizeMode="CanResizeWithGrip">
<Border Width="Auto" Height="Auto" Name="windowFrame"
BorderBrush="#395984"
BorderThickness="1"
CornerRadius="0,20,30,40" >
<Border.Background>
<LinearGradientBrush >
<GradientBrush.GradientStops>
<GradientStopCollection>
<GradientStop Color="#E7EBF7" Offset="0.0"/>
<GradientStop Color="#CEE3FF" Offset="0.5"/>
</GradientStopCollection>
</GradientBrush.GradientStops>
</LinearGradientBrush>
</Border.Background>
<StackPanel>
<TextBlock Text="Title Bar" Margin="1" Padding="5" MouseLeftButtonDown="titleBar_MouseLeftButtonDown"></TextBlock>
<Button Click="cmdClose_Click">Close</Button>
<Rectangle Cursor="SizeWE"
MouseLeftButtonDown="window_initiateWiden"
MouseLeftButtonUp="window_endWiden"
MouseMove="window_Widen"/>
</StackPanel>
</Border>
</Window>
//File:Window.xaml.vb
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Imaging
Imports System.Windows.Shapes
Namespace Windows
Public Partial Class ModernWindow
Inherits System.Windows.Window
Public Sub New()
InitializeComponent()
End Sub
Private isWiden As Boolean = False
Private Sub window_initiateWiden(sender As Object, e As System.Windows.Input.MouseEventArgs)
isWiden = True
End Sub
Private Sub window_endWiden(sender As Object, e As System.Windows.Input.MouseEventArgs)
isWiden = False
Dim rect As Rectangle = DirectCast(sender, Rectangle)
rect.ReleaseMouseCapture()
End Sub
Private Sub window_Widen(sender As Object, e As System.Windows.Input.MouseEventArgs)
Dim rect As Rectangle = DirectCast(sender, Rectangle)
If isWiden Then
rect.CaptureMouse()
Dim newWidth As Double = e.GetPosition(Me).X + 5
If newWidth > 0 Then
Me.Width = newWidth
End If
End If
End Sub
Private Sub titleBar_MouseLeftButtonDown(sender As Object, e As MouseButtonEventArgs)
Me.DragMove()
End Sub
Private Sub cmdClose_Click(sender As Object, e As RoutedEventArgs)
Me.Close()
End Sub
End Class
End Namespace
|