Modified pr/29

This commit is contained in:
NaBian committed 2019-01-11 13:45:57 +08:00
1 parent 004ae9422b
commit 632103b081
19 files changed
+466 -436

No files matched your search

@@ -1,71 +0,0 @@
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
namespace HandyControl.Controls
{
/// <summary>
/// Enable drag for a control
/// </summary>
public static class DragWindows
{
public static readonly DependencyProperty EnableDragProperty = DependencyProperty.RegisterAttached(
"EnableDrag",
typeof(bool),
typeof(DragWindows),
new PropertyMetadata(default(bool), OnLoaded));
private static void OnLoaded(DependencyObject dependencyObject,
DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
{
var uiElement = dependencyObject as UIElement;
if (uiElement == null || (dependencyPropertyChangedEventArgs.NewValue is bool) == false)
{
return;
}
if ((bool)dependencyPropertyChangedEventArgs.NewValue)
{
uiElement.MouseMove += UiElementOnMouseMove;
}
else
{
uiElement.MouseMove -= UiElementOnMouseMove;
}
}
private static void UiElementOnMouseMove(object sender, MouseEventArgs mouseEventArgs)
{
if (sender is UIElement uiElement && mouseEventArgs.LeftButton == MouseButtonState.Pressed)
{
DependencyObject parent = uiElement;
int avoidInfiniteLoop = 0;
// Search up the visual tree to find the first parent window.
while ((parent is Window) == false)
{
parent = VisualTreeHelper.GetParent(parent);
avoidInfiniteLoop++;
if (avoidInfiniteLoop == 1000)
{
// Something is wrong - we could not find the parent window.
return;
}
}
var window = parent as Window;
window.DragMove();
}
}
public static void SetEnableDrag(DependencyObject element, bool value)
{
element.SetValue(EnableDragProperty, value);
}
public static bool GetEnableDrag(DependencyObject element)
{
return (bool)element.GetValue(EnableDragProperty);
}
}
}
@@ -0,0 +1,41 @@
using System.Windows;
using System.Windows.Input;
using HandyControl.Data;
namespace HandyControl.Controls
{
public static class WindowAttach
{
public static readonly DependencyProperty IsDragElementProperty = DependencyProperty.RegisterAttached(
"IsDragElement", typeof(bool), typeof(WindowAttach), new PropertyMetadata(ValueBoxes.FalseBox, OnIsDragElementChanged));
public static void SetIsDragElement(DependencyObject element, bool value)
=> element.SetValue(IsDragElementProperty, value);
public static bool GetIsDragElement(DependencyObject element)
=> (bool) element.GetValue(IsDragElementProperty);
private static void OnIsDragElementChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
if (d is UIElement ctl)
{
if ((bool)e.NewValue)
{
ctl.MouseLeftButtonDown += DragElement_MouseLeftButtonDown; ;
}
else
{
ctl.MouseLeftButtonDown -= DragElement_MouseLeftButtonDown;
}
}
}
private static void DragElement_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (sender is DependencyObject obj && e.ButtonState == MouseButtonState.Pressed)
{
System.Windows.Window.GetWindow(obj)?.DragMove();
}
}
}
}
+210 -131
View File
@@ -6,17 +6,20 @@ using System.Windows.Input;
using System.Windows.Media;
using HandyControl.Data;
using HandyControl.Tools;
using HandyControl.Tools.Extension;
#if netle40
using Microsoft.Windows.Shell;
#else
using System.Windows.Shell;
#endif
namespace HandyControl.Controls
{
[TemplatePart(Name = ElementNonClientArea, Type = typeof(UIElement))]
public class Window : System.Windows.Window
{
private Thickness _tempThickness;
private const string ElementNonClientArea = "PART_NonClientArea";
public static readonly DependencyProperty NonClientAreaContentProperty = DependencyProperty.Register(
"NonClientAreaContent", typeof(object), typeof(Window), new PropertyMetadata(default(object)));
@@ -66,42 +69,38 @@ namespace HandyControl.Controls
new PropertyMetadata(28.0));
public static readonly DependencyProperty ShowNonClientAreaProperty = DependencyProperty.Register(
"ShowNonClientArea", typeof(bool), typeof(Window), new PropertyMetadata(ValueBoxes.TrueBox));
"ShowNonClientArea", typeof(bool), typeof(Window),
new PropertyMetadata(ValueBoxes.TrueBox, OnShowNonClientAreaChanged));
public static readonly DependencyProperty ShowTitleProperty = DependencyProperty.Register(
"ShowTitle", typeof(bool), typeof(Window), new PropertyMetadata(ValueBoxes.FalseBox));
public static readonly DependencyProperty IsFullScreenProperty = DependencyProperty.Register(
"IsFullScreen", typeof(bool), typeof(Window), new PropertyMetadata(ValueBoxes.FalseBox,
(o, args) =>
{
var ctl = (Window)o;
var v = (bool)args.NewValue;
if (v)
{
ctl.OriginState = ctl.WindowState;
ctl.OriginStyle = ctl.WindowStyle;
ctl.OriginResizeMode = ctl.ResizeMode;
ctl.WindowStyle = WindowStyle.None;
//下面三行不能改变,就是故意的
ctl.WindowState = WindowState.Maximized;
ctl.WindowState = WindowState.Minimized;
ctl.WindowState = WindowState.Maximized;
}
else
{
ctl.WindowState = ctl.OriginState;
ctl.WindowStyle = ctl.OriginStyle;
ctl.ResizeMode = ctl.OriginResizeMode;
}
}));
"IsFullScreen", typeof(bool), typeof(Window),
new PropertyMetadata(ValueBoxes.FalseBox, OnIsFullScreenChanged));
private bool _isFullScreen;
private UIElement _nonClientArea;
private bool _showNonClientArea = true;
private double _tempNonClientAreaHeight;
private Thickness _tempThickness;
private WindowState _tempWindowState;
private WindowStyle _tempWindowStyle;
private ResizeMode _tempResizeMode;
public Window()
{
var chrome = new WindowChrome
{
CornerRadius = new CornerRadius(),
GlassFrameThickness = new Thickness(1)
GlassFrameThickness = new Thickness(0, 0, 0, 1)
};
BindingOperations.SetBinding(chrome, WindowChrome.CaptionHeightProperty,
new Binding(NonClientAreaHeightProperty.Name) {Source = this});
@@ -123,9 +122,192 @@ namespace HandyControl.Controls
(s, e) => WindowState = WindowState.Normal));
CommandBindings.Add(new CommandBinding(SystemCommands.CloseWindowCommand, (s, e) => Close()));
CommandBindings.Add(new CommandBinding(SystemCommands.ShowSystemMenuCommand, ShowSystemMenu));
_tempNonClientAreaHeight = NonClientAreaHeight;
_tempWindowState = WindowState;
_tempWindowStyle = WindowStyle;
_tempResizeMode = ResizeMode;
SwitchIsFullScreen(_isFullScreen);
SwitchShowNonClientArea(_showNonClientArea);
};
}
public Brush CloseButtonBackground
{
get => (Brush) GetValue(CloseButtonBackgroundProperty);
set => SetValue(CloseButtonBackgroundProperty, value);
}
public Brush CloseButtonForeground
{
get => (Brush) GetValue(CloseButtonForegroundProperty);
set => SetValue(CloseButtonForegroundProperty, value);
}
public Brush OtherButtonBackground
{
get => (Brush) GetValue(OtherButtonBackgroundProperty);
set => SetValue(OtherButtonBackgroundProperty, value);
}
public Brush OtherButtonForeground
{
get => (Brush) GetValue(OtherButtonForegroundProperty);
set => SetValue(OtherButtonForegroundProperty, value);
}
public double NonClientAreaHeight
{
get => (double) GetValue(NonClientAreaHeightProperty);
set => SetValue(NonClientAreaHeightProperty, value);
}
public bool IsFullScreen
{
get => (bool) GetValue(IsFullScreenProperty);
set => SetValue(IsFullScreenProperty, value);
}
public object NonClientAreaContent
{
get => GetValue(NonClientAreaContentProperty);
set => SetValue(NonClientAreaContentProperty, value);
}
public Brush CloseButtonHoverBackground
{
get => (Brush) GetValue(CloseButtonHoverBackgroundProperty);
set => SetValue(CloseButtonHoverBackgroundProperty, value);
}
public Brush CloseButtonHoverForeground
{
get => (Brush) GetValue(CloseButtonHoverForegroundProperty);
set => SetValue(CloseButtonHoverForegroundProperty, value);
}
public Brush OtherButtonHoverBackground
{
get => (Brush) GetValue(OtherButtonHoverBackgroundProperty);
set => SetValue(OtherButtonHoverBackgroundProperty, value);
}
public Brush OtherButtonHoverForeground
{
get => (Brush) GetValue(OtherButtonHoverForegroundProperty);
set => SetValue(OtherButtonHoverForegroundProperty, value);
}
public Brush NonClientAreaBackground
{
get => (Brush) GetValue(NonClientAreaBackgroundProperty);
set => SetValue(NonClientAreaBackgroundProperty, value);
}
public Brush NonClientAreaForeground
{
get => (Brush) GetValue(NonClientAreaForegroundProperty);
set => SetValue(NonClientAreaForegroundProperty, value);
}
public bool ShowNonClientArea
{
get => (bool) GetValue(ShowNonClientAreaProperty);
set => SetValue(ShowNonClientAreaProperty, value);
}
public bool ShowTitle
{
get => (bool) GetValue(ShowTitleProperty);
set => SetValue(ShowTitleProperty, value);
}
private static void OnShowNonClientAreaChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var ctl = (Window) d;
ctl.SwitchShowNonClientArea((bool) e.NewValue);
}
private void SwitchShowNonClientArea(bool showNonClientArea)
{
if (_nonClientArea == null)
{
_showNonClientArea = showNonClientArea;
return;
}
if (showNonClientArea)
{
if (IsFullScreen)
{
_nonClientArea.Show(false);
_tempNonClientAreaHeight = NonClientAreaHeight;
NonClientAreaHeight = 0;
}
else
{
_nonClientArea.Show(true);
NonClientAreaHeight = _tempNonClientAreaHeight;
}
}
else
{
_nonClientArea.Show(false);
_tempNonClientAreaHeight = NonClientAreaHeight;
NonClientAreaHeight = 0;
}
}
private static void OnIsFullScreenChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var ctl = (Window) d;
ctl.SwitchIsFullScreen((bool) e.NewValue);
}
private void SwitchIsFullScreen(bool isFullScreen)
{
if (_nonClientArea == null)
{
_isFullScreen = isFullScreen;
return;
}
if (isFullScreen)
{
_nonClientArea.Show(false);
_tempNonClientAreaHeight = NonClientAreaHeight;
NonClientAreaHeight = 0;
_tempWindowState = WindowState;
_tempWindowStyle = WindowStyle;
_tempResizeMode = ResizeMode;
WindowStyle = WindowStyle.None;
//下面三行不能改变,就是故意的
WindowState = WindowState.Maximized;
WindowState = WindowState.Minimized;
WindowState = WindowState.Maximized;
}
else
{
if (ShowNonClientArea)
{
_nonClientArea.Show(true);
NonClientAreaHeight = _tempNonClientAreaHeight;
}
else
{
_nonClientArea.Show(false);
_tempNonClientAreaHeight = NonClientAreaHeight;
NonClientAreaHeight = 0;
}
WindowState = _tempWindowState;
WindowStyle = _tempWindowStyle;
ResizeMode = _tempResizeMode;
}
}
protected override void OnStateChanged(EventArgs e)
{
base.OnStateChanged(e);
@@ -143,6 +325,8 @@ namespace HandyControl.Controls
{
base.OnApplyTemplate();
_nonClientArea = GetTemplateChild(ElementNonClientArea) as UIElement;
if (SizeToContent != SizeToContent.WidthAndHeight)
return;
@@ -150,111 +334,6 @@ namespace HandyControl.Controls
Dispatcher.BeginInvoke(new Action(() => { SizeToContent = SizeToContent.WidthAndHeight; }));
}
public Brush CloseButtonBackground
{
get => (Brush)GetValue(CloseButtonBackgroundProperty);
set => SetValue(CloseButtonBackgroundProperty, value);
}
public Brush CloseButtonForeground
{
get => (Brush)GetValue(CloseButtonForegroundProperty);
set => SetValue(CloseButtonForegroundProperty, value);
}
public Brush OtherButtonBackground
{
get => (Brush)GetValue(OtherButtonBackgroundProperty);
set => SetValue(OtherButtonBackgroundProperty, value);
}
public Brush OtherButtonForeground
{
get => (Brush)GetValue(OtherButtonForegroundProperty);
set => SetValue(OtherButtonForegroundProperty, value);
}
/// <summary>
/// 原始状态
/// </summary>
private WindowState OriginState { get; set; }
/// <summary>
/// 原始样式
/// </summary>
private WindowStyle OriginStyle { get; set; }
/// <summary>
/// 原始尺寸调节模式
/// </summary>
private ResizeMode OriginResizeMode { get; set; }
public double NonClientAreaHeight
{
get => (double)GetValue(NonClientAreaHeightProperty);
set => SetValue(NonClientAreaHeightProperty, value);
}
public bool IsFullScreen
{
get => (bool)GetValue(IsFullScreenProperty);
set => SetValue(IsFullScreenProperty, value);
}
public object NonClientAreaContent
{
get => GetValue(NonClientAreaContentProperty);
set => SetValue(NonClientAreaContentProperty, value);
}
public Brush CloseButtonHoverBackground
{
get => (Brush)GetValue(CloseButtonHoverBackgroundProperty);
set => SetValue(CloseButtonHoverBackgroundProperty, value);
}
public Brush CloseButtonHoverForeground
{
get => (Brush)GetValue(CloseButtonHoverForegroundProperty);
set => SetValue(CloseButtonHoverForegroundProperty, value);
}
public Brush OtherButtonHoverBackground
{
get => (Brush)GetValue(OtherButtonHoverBackgroundProperty);
set => SetValue(OtherButtonHoverBackgroundProperty, value);
}
public Brush OtherButtonHoverForeground
{
get => (Brush)GetValue(OtherButtonHoverForegroundProperty);
set => SetValue(OtherButtonHoverForegroundProperty, value);
}
public Brush NonClientAreaBackground
{
get => (Brush)GetValue(NonClientAreaBackgroundProperty);
set => SetValue(NonClientAreaBackgroundProperty, value);
}
public Brush NonClientAreaForeground
{
get => (Brush)GetValue(NonClientAreaForegroundProperty);
set => SetValue(NonClientAreaForegroundProperty, value);
}
public bool ShowNonClientArea
{
get => (bool)GetValue(ShowNonClientAreaProperty);
set => SetValue(ShowNonClientAreaProperty, value);
}
public bool ShowTitle
{
get => (bool)GetValue(ShowTitleProperty);
set => SetValue(ShowTitleProperty, value);
}
private void ShowSystemMenu(object sender, ExecutedRoutedEventArgs e)
{
var point = WindowState == WindowState.Maximized
+1 -1
View File
@@ -114,7 +114,7 @@
</When>
</Choose>
<ItemGroup>
<Compile Include="Controls\Attach\DragWindows.cs" />
<Compile Include="Controls\Attach\WindowAttach.cs" />
<Compile Include="Controls\Attach\LinkElement.cs" />
<Compile Include="Controls\Attach\PanelElement.cs" />
<Compile Include="Controls\Attach\VisualElement.cs" />
@@ -53,7 +53,6 @@
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
+5 -17
View File
@@ -40,16 +40,16 @@
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Visibility="{TemplateBinding IsFullScreen,Converter={StaticResource Boolean2VisibilityReConverter}}" Background="{TemplateBinding NonClientAreaBackground}" Name="GridMenu" TextElement.Foreground="{TemplateBinding NonClientAreaForeground}">
<Grid Background="{TemplateBinding NonClientAreaBackground}" Name="PART_NonClientArea" TextElement.Foreground="{TemplateBinding NonClientAreaForeground}">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel shell:WindowChrome.IsHitTestVisibleInChrome="True" UseLayoutRounding="True" VerticalAlignment="Top" Grid.Column="1" HorizontalAlignment="Right" Orientation="Horizontal">
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.MinimizeWindowCommand" IsTabStop="False" shell:WindowChrome.IsHitTestVisibleInChrome="True" Name="ButtonMin" Height="29" Style="{StaticResource ButtonIcon}" Width="45" controls:IconElement.Geometry="{StaticResource WindowMinGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.MaximizeWindowCommand" IsTabStop="False" shell:WindowChrome.IsHitTestVisibleInChrome="True" Name="ButtonMax" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource WindowMaxGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.RestoreWindowCommand" IsTabStop="False" shell:WindowChrome.IsHitTestVisibleInChrome="True" Name="ButtonRestore" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource WindowRestoreGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding CloseButtonBackground}" Foreground="{TemplateBinding CloseButtonForeground}" Command="shell:SystemCommands.CloseWindowCommand" IsTabStop="False" shell:WindowChrome.IsHitTestVisibleInChrome="True" Name="ButtonClose" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource CloseGeometry}" BorderThickness="1,0,0,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.MinimizeWindowCommand" IsTabStop="False" Name="ButtonMin" Height="29" Style="{StaticResource ButtonIcon}" Width="45" controls:IconElement.Geometry="{StaticResource WindowMinGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.MaximizeWindowCommand" IsTabStop="False" Name="ButtonMax" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource WindowMaxGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.RestoreWindowCommand" IsTabStop="False" Name="ButtonRestore" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource WindowRestoreGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding CloseButtonBackground}" Foreground="{TemplateBinding CloseButtonForeground}" Command="shell:SystemCommands.CloseWindowCommand" IsTabStop="False" Name="ButtonClose" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource CloseGeometry}" BorderThickness="1,0,0,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
</StackPanel>
<Grid Grid.Column="0">
<Grid.ColumnDefinitions>
@@ -107,9 +107,6 @@
<Setter Property="Background" TargetName="ButtonMin" Value="{Binding OtherButtonHoverBackground,RelativeSource={RelativeSource Mode=TemplatedParent}}"/>
<Setter Property="Foreground" TargetName="ButtonMin" Value="{Binding OtherButtonHoverForeground,RelativeSource={RelativeSource Mode=TemplatedParent}}"/>
</Trigger>
<Trigger Property="ShowNonClientArea" Value="False">
<Setter Property="Visibility" Value="Collapsed" TargetName="GridMenu"/>
</Trigger>
<Trigger Property="ShowTitle" Value="False">
<Setter Property="Visibility" Value="Collapsed" TargetName="Title"/>
</Trigger>
@@ -124,15 +121,6 @@
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsFullScreen" Value="True">
<Setter Property="shell:WindowChrome.WindowChrome">
<Setter.Value>
<shell:WindowChrome CornerRadius="0" GlassFrameThickness="1" CaptionHeight="0"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="WindowBlur" BasedOn="{StaticResource WindowWin10}" TargetType="controls:BlurWindow">
+5 -17
View File
@@ -39,16 +39,16 @@
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Visibility="{TemplateBinding IsFullScreen,Converter={StaticResource Boolean2VisibilityReConverter}}" Background="{TemplateBinding NonClientAreaBackground}" Name="GridMenu" TextElement.Foreground="{TemplateBinding NonClientAreaForeground}">
<Grid Background="{TemplateBinding NonClientAreaBackground}" Name="PART_NonClientArea" TextElement.Foreground="{TemplateBinding NonClientAreaForeground}">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel WindowChrome.IsHitTestVisibleInChrome="True" UseLayoutRounding="True" VerticalAlignment="Top" Grid.Column="1" HorizontalAlignment="Right" Orientation="Horizontal">
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="SystemCommands.MinimizeWindowCommand" IsTabStop="False" WindowChrome.IsHitTestVisibleInChrome="True" Name="ButtonMin" Height="29" Style="{StaticResource ButtonIcon}" Width="45" controls:IconElement.Geometry="{StaticResource WindowMinGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="SystemCommands.MaximizeWindowCommand" IsTabStop="False" WindowChrome.IsHitTestVisibleInChrome="True" Name="ButtonMax" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource WindowMaxGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="SystemCommands.RestoreWindowCommand" IsTabStop="False" WindowChrome.IsHitTestVisibleInChrome="True" Name="ButtonRestore" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource WindowRestoreGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding CloseButtonBackground}" Foreground="{TemplateBinding CloseButtonForeground}" Command="SystemCommands.CloseWindowCommand" IsTabStop="False" WindowChrome.IsHitTestVisibleInChrome="True" Name="ButtonClose" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource CloseGeometry}" BorderThickness="1,0,0,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="SystemCommands.MinimizeWindowCommand" IsTabStop="False" Name="ButtonMin" Height="29" Style="{StaticResource ButtonIcon}" Width="45" controls:IconElement.Geometry="{StaticResource WindowMinGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="SystemCommands.MaximizeWindowCommand" IsTabStop="False" Name="ButtonMax" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource WindowMaxGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="SystemCommands.RestoreWindowCommand" IsTabStop="False" Name="ButtonRestore" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource WindowRestoreGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding CloseButtonBackground}" Foreground="{TemplateBinding CloseButtonForeground}" Command="SystemCommands.CloseWindowCommand" IsTabStop="False" Name="ButtonClose" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource CloseGeometry}" BorderThickness="1,0,0,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
</StackPanel>
<Grid Grid.Column="0">
<Grid.ColumnDefinitions>
@@ -106,9 +106,6 @@
<Setter Property="Background" TargetName="ButtonMin" Value="{Binding OtherButtonHoverBackground,RelativeSource={RelativeSource Mode=TemplatedParent}}"/>
<Setter Property="Foreground" TargetName="ButtonMin" Value="{Binding OtherButtonHoverForeground,RelativeSource={RelativeSource Mode=TemplatedParent}}"/>
</Trigger>
<Trigger Property="ShowNonClientArea" Value="False">
<Setter Property="Visibility" Value="Collapsed" TargetName="GridMenu"/>
</Trigger>
<Trigger Property="ShowTitle" Value="False">
<Setter Property="Visibility" Value="Collapsed" TargetName="Title"/>
</Trigger>
@@ -123,15 +120,6 @@
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsFullScreen" Value="True">
<Setter Property="WindowChrome.WindowChrome">
<Setter.Value>
<WindowChrome CornerRadius="0" GlassFrameThickness="1" CaptionHeight="0"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="WindowBlur" BasedOn="{StaticResource WindowWin10}" TargetType="controls:BlurWindow">
+5 -17
View File
@@ -39,16 +39,16 @@
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Visibility="{TemplateBinding IsFullScreen,Converter={StaticResource Boolean2VisibilityReConverter}}" Background="{TemplateBinding NonClientAreaBackground}" Name="GridMenu" TextElement.Foreground="{TemplateBinding NonClientAreaForeground}">
<Grid Background="{TemplateBinding NonClientAreaBackground}" Name="PART_NonClientArea" TextElement.Foreground="{TemplateBinding NonClientAreaForeground}">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel WindowChrome.IsHitTestVisibleInChrome="True" UseLayoutRounding="True" VerticalAlignment="Top" Grid.Column="1" HorizontalAlignment="Right" Orientation="Horizontal">
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="SystemCommands.MinimizeWindowCommand" IsTabStop="False" WindowChrome.IsHitTestVisibleInChrome="True" Name="ButtonMin" Height="29" Style="{StaticResource ButtonIcon}" Width="45" controls:IconElement.Geometry="{StaticResource WindowMinGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="SystemCommands.MaximizeWindowCommand" IsTabStop="False" WindowChrome.IsHitTestVisibleInChrome="True" Name="ButtonMax" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource WindowMaxGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="SystemCommands.RestoreWindowCommand" IsTabStop="False" WindowChrome.IsHitTestVisibleInChrome="True" Name="ButtonRestore" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource WindowRestoreGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding CloseButtonBackground}" Foreground="{TemplateBinding CloseButtonForeground}" Command="SystemCommands.CloseWindowCommand" IsTabStop="False" WindowChrome.IsHitTestVisibleInChrome="True" Name="ButtonClose" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource CloseGeometry}" BorderThickness="1,0,0,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="SystemCommands.MinimizeWindowCommand" IsTabStop="False" Name="ButtonMin" Height="29" Style="{StaticResource ButtonIcon}" Width="45" controls:IconElement.Geometry="{StaticResource WindowMinGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="SystemCommands.MaximizeWindowCommand" IsTabStop="False" Name="ButtonMax" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource WindowMaxGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="SystemCommands.RestoreWindowCommand" IsTabStop="False" Name="ButtonRestore" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource WindowRestoreGeometry}" BorderThickness="1,0,1,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
<Button Background="{TemplateBinding CloseButtonBackground}" Foreground="{TemplateBinding CloseButtonForeground}" Command="SystemCommands.CloseWindowCommand" IsTabStop="False" Name="ButtonClose" Height="29" Style="{StaticResource ButtonIcon}" Width="46" controls:IconElement.Geometry="{StaticResource CloseGeometry}" BorderThickness="1,0,0,0" controls:IconElement.Width="10" controls:IconElement.Height="10"/>
</StackPanel>
<Grid Grid.Column="0">
<Grid.ColumnDefinitions>
@@ -106,9 +106,6 @@
<Setter Property="Background" TargetName="ButtonMin" Value="{Binding OtherButtonHoverBackground,RelativeSource={RelativeSource Mode=TemplatedParent}}"/>
<Setter Property="Foreground" TargetName="ButtonMin" Value="{Binding OtherButtonHoverForeground,RelativeSource={RelativeSource Mode=TemplatedParent}}"/>
</Trigger>
<Trigger Property="ShowNonClientArea" Value="False">
<Setter Property="Visibility" Value="Collapsed" TargetName="GridMenu"/>
</Trigger>
<Trigger Property="ShowTitle" Value="False">
<Setter Property="Visibility" Value="Collapsed" TargetName="Title"/>
</Trigger>
@@ -123,15 +120,6 @@
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsFullScreen" Value="True">
<Setter Property="WindowChrome.WindowChrome">
<Setter.Value>
<WindowChrome CornerRadius="0" GlassFrameThickness="1" CaptionHeight="0"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="WindowBlur" BasedOn="{StaticResource WindowWin10}" TargetType="controls:BlurWindow">
+1 -1
View File
@@ -64,7 +64,7 @@
public static readonly string BlurWindow = nameof(BlurWindow);
public static readonly string NoClientDragableWindow = nameof(NoClientDragableWindow);
public static readonly string NoNonClientAreaDragableWindow = nameof(NoNonClientAreaDragableWindow);
public static readonly string RateDemoCtl = nameof(RateDemoCtl);
+1 -1
View File
@@ -35,7 +35,7 @@ var controlList = new List<string>
"FlipClockDemoCtl",
"QQGroupView",
"BlurWindow",
"NoClientDragableWindow",
"NoNonClientAreaDragableWindow",
"RateDemoCtl",
"ShieldDemoCtl",
"WaterfallPanelDemoCtl",
+3 -3
View File
@@ -328,8 +328,8 @@
<Compile Include="Window\CustomNonClientAreaWindow.xaml.cs">
<DependentUpon>CustomNonClientAreaWindow.xaml</DependentUpon>
</Compile>
<Compile Include="Window\NoClientDragableWindow.xaml.cs">
<DependentUpon>NoClientDragableWindow.xaml</DependentUpon>
<Compile Include="Window\NoNonClientAreaDragableWindow.xaml.cs">
<DependentUpon>NoNonClientAreaDragableWindow.xaml</DependentUpon>
</Compile>
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
@@ -667,7 +667,7 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Window\NoClientDragableWindow.xaml">
<Page Include="Window\NoNonClientAreaDragableWindow.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+145 -136
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
@@ -13,12 +13,12 @@ namespace HandyControlDemo.Properties.Langs {
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
@@ -33,7 +33,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
@@ -47,8 +47,8 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// 重写当前线程的 CurrentUICulture 属性
/// 重写当前线程的 CurrentUICulture 属性。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
@@ -61,7 +61,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 关于.
/// 查找类似 关于 的本地化字符串。
/// </summary>
public static string About {
get {
@@ -70,7 +70,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 动画路径.
/// 查找类似 动画路径 的本地化字符串。
/// </summary>
public static string AnimationPath {
get {
@@ -79,7 +79,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 询问.
/// 查找类似 询问 的本地化字符串。
/// </summary>
public static string Ask {
get {
@@ -88,7 +88,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 填写基本信息.
/// 查找类似 填写基本信息 的本地化字符串。
/// </summary>
public static string BasicInfo {
get {
@@ -97,7 +97,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 博客.
/// 查找类似 博客 的本地化字符串。
/// </summary>
public static string Blog {
get {
@@ -106,7 +106,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 边框.
/// 查找类似 边框 的本地化字符串。
/// </summary>
public static string Border1 {
get {
@@ -115,7 +115,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 画刷.
/// 查找类似 画刷 的本地化字符串。
/// </summary>
public static string Brush {
get {
@@ -124,7 +124,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 按钮.
/// 查找类似 按钮 的本地化字符串。
/// </summary>
public static string Button {
get {
@@ -133,7 +133,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 透明按钮.
/// 查找类似 透明按钮 的本地化字符串。
/// </summary>
public static string ButtonOpacity {
get {
@@ -142,7 +142,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 日历.
/// 查找类似 日历 的本地化字符串。
/// </summary>
public static string Calendar {
get {
@@ -151,7 +151,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 带时钟的日历.
/// 查找类似 带时钟的日历 的本地化字符串。
/// </summary>
public static string CalendarWithClock {
get {
@@ -160,7 +160,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 轮播.
/// 查找类似 轮播 的本地化字符串。
/// </summary>
public static string Carousel {
get {
@@ -169,7 +169,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 是否重启以更改语言?.
/// 查找类似 是否重启以更改语言? 的本地化字符串。
/// </summary>
public static string ChangeLangAsk {
get {
@@ -178,7 +178,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 讨论室.
/// 查找类似 讨论室 的本地化字符串。
/// </summary>
public static string Chatroom {
get {
@@ -187,7 +187,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 复选框.
/// 查找类似 复选框 的本地化字符串。
/// </summary>
public static string CheckBox {
get {
@@ -196,7 +196,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 圆形布局.
/// 查找类似 圆形布局 的本地化字符串。
/// </summary>
public static string CirclePanel {
get {
@@ -205,7 +205,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 圆形进度条.
/// 查找类似 圆形进度条 的本地化字符串。
/// </summary>
public static string CircleProgressBar {
get {
@@ -214,7 +214,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 清空.
/// 查找类似 清空 的本地化字符串。
/// </summary>
public static string Clear {
get {
@@ -223,7 +223,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 时钟.
/// 查找类似 时钟 的本地化字符串。
/// </summary>
public static string Clock {
get {
@@ -232,7 +232,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 颜色拾取器.
/// 查找类似 颜色拾取器 的本地化字符串。
/// </summary>
public static string ColorPicker {
get {
@@ -241,7 +241,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 组合框.
/// 查找类似 组合框 的本地化字符串。
/// </summary>
public static string ComboBox {
get {
@@ -250,7 +250,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 一般.
/// 查找类似 一般 的本地化字符串。
/// </summary>
public static string Common {
get {
@@ -259,7 +259,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 对比滑块.
/// 查找类似 对比滑块 的本地化字符串。
/// </summary>
public static string CompareSlider {
get {
@@ -268,7 +268,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 完成.
/// 查找类似 完成 的本地化字符串。
/// </summary>
public static string Complete {
get {
@@ -277,7 +277,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 这是内容.
/// 查找类似 这是内容 的本地化字符串。
/// </summary>
public static string ContentDemoStr {
get {
@@ -286,7 +286,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 贡献者.
/// 查找类似 贡献者 的本地化字符串。
/// </summary>
public static string Contributors {
get {
@@ -295,7 +295,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 控件.
/// 查找类似 控件 的本地化字符串。
/// </summary>
public static string Controls {
get {
@@ -304,7 +304,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 封面流.
/// 查找类似 封面流 的本地化字符串。
/// </summary>
public static string CoverFlow {
get {
@@ -313,7 +313,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 封面视图.
/// 查找类似 封面视图 的本地化字符串。
/// </summary>
public static string CoverView {
get {
@@ -322,7 +322,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 危险.
/// 查找类似 危险 的本地化字符串。
/// </summary>
public static string Danger {
get {
@@ -331,7 +331,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 数据表格.
/// 查找类似 数据表格 的本地化字符串。
/// </summary>
public static string DataGrid {
get {
@@ -340,7 +340,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 日期选择器.
/// 查找类似 日期选择器 的本地化字符串。
/// </summary>
public static string DatePicker {
get {
@@ -349,7 +349,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 日期时间选择器.
/// 查找类似 日期时间选择器 的本地化字符串。
/// </summary>
public static string DateTimePicker {
get {
@@ -358,7 +358,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 默认.
/// 查找类似 默认 的本地化字符串。
/// </summary>
public static string Default {
get {
@@ -367,7 +367,16 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 邮箱.
/// 查找类似 在这里拖拽 的本地化字符串。
/// </summary>
public static string DragHere {
get {
return ResourceManager.GetString("DragHere", resourceCulture);
}
}
/// <summary>
/// 查找类似 邮箱 的本地化字符串。
/// </summary>
public static string Email {
get {
@@ -376,7 +385,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 错误.
/// 查找类似 错误 的本地化字符串。
/// </summary>
public static string Error {
get {
@@ -385,7 +394,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 展开框.
/// 查找类似 展开框 的本地化字符串。
/// </summary>
public static string Expander {
get {
@@ -394,7 +403,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 严重.
/// 查找类似 严重 的本地化字符串。
/// </summary>
public static string Fatal {
get {
@@ -403,7 +412,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 翻页时钟.
/// 查找类似 翻页时钟 的本地化字符串。
/// </summary>
public static string FlipClock {
get {
@@ -412,7 +421,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to Gif图片.
/// 查找类似 Gif图片 的本地化字符串。
/// </summary>
public static string GifImage {
get {
@@ -421,7 +430,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 分组框.
/// 查找类似 分组框 的本地化字符串。
/// </summary>
public static string GroupBox {
get {
@@ -430,7 +439,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 组数.
/// 查找类似 组数 的本地化字符串。
/// </summary>
public static string Groups {
get {
@@ -439,7 +448,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 信息通知.
/// 查找类似 信息通知 的本地化字符串。
/// </summary>
public static string Growl {
get {
@@ -448,7 +457,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 检测到有新版本!是否更新?.
/// 查找类似 检测到有新版本!是否更新? 的本地化字符串。
/// </summary>
public static string GrowlAsk {
get {
@@ -457,7 +466,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 连接失败,请检查网络!.
/// 查找类似 连接失败,请检查网络! 的本地化字符串。
/// </summary>
public static string GrowlError {
get {
@@ -466,7 +475,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 程序已崩溃~~~.
/// 查找类似 程序已崩溃~~~ 的本地化字符串。
/// </summary>
public static string GrowlFatal {
get {
@@ -475,7 +484,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 今天的天气不错~~~.
/// 查找类似 今天的天气不错~~~ 的本地化字符串。
/// </summary>
public static string GrowlInfo {
get {
@@ -484,7 +493,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 文件保存成功!.
/// 查找类似 文件保存成功! 的本地化字符串。
/// </summary>
public static string GrowlSuccess {
get {
@@ -493,7 +502,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 磁盘空间快要满了!.
/// 查找类似 磁盘空间快要满了! 的本地化字符串。
/// </summary>
public static string GrowlWarning {
get {
@@ -502,7 +511,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 忽略.
/// 查找类似 忽略 的本地化字符串。
/// </summary>
public static string Ignore {
get {
@@ -511,7 +520,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 图片浏览器.
/// 查找类似 图片浏览器 的本地化字符串。
/// </summary>
public static string ImageBrowser {
get {
@@ -520,7 +529,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 索引.
/// 查找类似 索引 的本地化字符串。
/// </summary>
public static string Index {
get {
@@ -529,7 +538,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 信息.
/// 查找类似 信息 的本地化字符串。
/// </summary>
public static string Info {
get {
@@ -538,7 +547,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 不是手机号码.
/// 查找类似 不是手机号码 的本地化字符串。
/// </summary>
public static string IsNotPhone {
get {
@@ -547,7 +556,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 列表框.
/// 查找类似 列表框 的本地化字符串。
/// </summary>
public static string ListBox {
get {
@@ -556,7 +565,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 列表视图.
/// 查找类似 列表视图 的本地化字符串。
/// </summary>
public static string ListView {
get {
@@ -565,7 +574,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 加载条.
/// 查找类似 加载条 的本地化字符串。
/// </summary>
public static string Loading {
get {
@@ -574,7 +583,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 菜单.
/// 查找类似 菜单 的本地化字符串。
/// </summary>
public static string Menu {
get {
@@ -583,7 +592,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 名称.
/// 查找类似 名称 的本地化字符串。
/// </summary>
public static string Name {
get {
@@ -592,7 +601,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 下一步.
/// 查找类似 下一步 的本地化字符串。
/// </summary>
public static string Next {
get {
@@ -601,16 +610,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to open noClient dragable window.
/// </summary>
public static string NoClientDragableWindow {
get {
return ResourceManager.GetString("NoClientDragableWindow", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to 数值选择控件.
/// 查找类似 数值选择控件 的本地化字符串。
/// </summary>
public static string NumericUpDown {
get {
@@ -619,7 +619,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 点击打开背景模糊窗口.
/// 查找类似 点击打开背景模糊窗口 的本地化字符串。
/// </summary>
public static string OpenBlurWindow {
get {
@@ -628,7 +628,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 点击打开常规窗口.
/// 查找类似 点击打开常规窗口 的本地化字符串。
/// </summary>
public static string OpenCommonWindow {
get {
@@ -637,7 +637,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 点击打开自定义内容窗口.
/// 查找类似 点击打开自定义内容窗口 的本地化字符串。
/// </summary>
public static string OpenCustomContentWindow {
get {
@@ -646,7 +646,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 点击打开自定义非客户端区域窗口.
/// 查找类似 点击打开自定义非客户端区域窗口 的本地化字符串。
/// </summary>
public static string OpenCustomNonClientAreaWindow {
get {
@@ -655,7 +655,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 点击打开图片浏览器.
/// 查找类似 点击打开图片浏览器 的本地化字符串。
/// </summary>
public static string OpenImageBrowser {
get {
@@ -664,7 +664,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 点击打开消息窗口.
/// 查找类似 点击打开消息窗口 的本地化字符串。
/// </summary>
public static string OpenMessageWindow {
get {
@@ -673,7 +673,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 点击打开鼠标跟随窗口.
/// 查找类似 点击打开鼠标跟随窗口 的本地化字符串。
/// </summary>
public static string OpenMouseFollowWindow {
get {
@@ -682,7 +682,16 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 轮廓文本.
/// 查找类似 打开无非客户端区域可拖拽窗口 的本地化字符串。
/// </summary>
public static string OpenNoNonClientAreaDragableWindow {
get {
return ResourceManager.GetString("OpenNoNonClientAreaDragableWindow", resourceCulture);
}
}
/// <summary>
/// 查找类似 轮廓文本 的本地化字符串。
/// </summary>
public static string OutlineText {
get {
@@ -691,7 +700,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 页码条.
/// 查找类似 页码条 的本地化字符串。
/// </summary>
public static string Pagination {
get {
@@ -700,7 +709,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 密码框.
/// 查找类似 密码框 的本地化字符串。
/// </summary>
public static string PasswordBox {
get {
@@ -709,7 +718,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 请输入内容.
/// 查找类似 请输入内容 的本地化字符串。
/// </summary>
public static string PlsEnterContent {
get {
@@ -718,7 +727,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 请输入邮箱.
/// 查找类似 请输入邮箱 的本地化字符串。
/// </summary>
public static string PlsEnterEmail {
get {
@@ -727,7 +736,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 上一步.
/// 查找类似 上一步 的本地化字符串。
/// </summary>
public static string Prev {
get {
@@ -736,7 +745,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 预览滑块.
/// 查找类似 预览滑块 的本地化字符串。
/// </summary>
public static string PreviewSlider {
get {
@@ -745,7 +754,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 主要.
/// 查找类似 主要 的本地化字符串。
/// </summary>
public static string Primary {
get {
@@ -754,7 +763,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 进度条.
/// 查找类似 进度条 的本地化字符串。
/// </summary>
public static string ProgressBar {
get {
@@ -763,7 +772,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to QQ群.
/// 查找类似 QQ群 的本地化字符串。
/// </summary>
public static string QQGroup {
get {
@@ -772,7 +781,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 单选按钮.
/// 查找类似 单选按钮 的本地化字符串。
/// </summary>
public static string RadioButton {
get {
@@ -781,7 +790,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 评分.
/// 查找类似 评分 的本地化字符串。
/// </summary>
public static string Rate {
get {
@@ -790,7 +799,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 注册.
/// 查找类似 注册 的本地化字符串。
/// </summary>
public static string Register {
get {
@@ -799,7 +808,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 备注.
/// 查找类似 备注 的本地化字符串。
/// </summary>
public static string Remark {
get {
@@ -808,7 +817,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 代码仓库.
/// 查找类似 代码仓库 的本地化字符串。
/// </summary>
public static string Repository {
get {
@@ -817,7 +826,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 富文本框.
/// 查找类似 富文本框 的本地化字符串。
/// </summary>
public static string RichTextBox {
get {
@@ -826,7 +835,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 在这里右击.
/// 查找类似 在这里右击 的本地化字符串。
/// </summary>
public static string RightClickHere {
get {
@@ -835,7 +844,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 滚动视图.
/// 查找类似 滚动视图 的本地化字符串。
/// </summary>
public static string ScrollViewer {
get {
@@ -844,7 +853,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 搜索栏.
/// 查找类似 搜索栏 的本地化字符串。
/// </summary>
public static string SearchBar {
get {
@@ -853,7 +862,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 选中.
/// 查找类似 选中 的本地化字符串。
/// </summary>
public static string Selected {
get {
@@ -862,7 +871,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 徽章.
/// 查找类似 徽章 的本地化字符串。
/// </summary>
public static string Shield {
get {
@@ -871,7 +880,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 显示行号.
/// 查找类似 显示行号 的本地化字符串。
/// </summary>
public static string ShowRowNumber {
get {
@@ -880,7 +889,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 滑块.
/// 查找类似 滑块 的本地化字符串。
/// </summary>
public static string Slider {
get {
@@ -889,7 +898,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 步骤.
/// 查找类似 步骤 的本地化字符串。
/// </summary>
public static string Step {
get {
@@ -898,7 +907,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 步骤条.
/// 查找类似 步骤条 的本地化字符串。
/// </summary>
public static string StepBar {
get {
@@ -907,7 +916,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 样式模板.
/// 查找类似 样式模板 的本地化字符串。
/// </summary>
public static string Styles {
get {
@@ -916,7 +925,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 子标题.
/// 查找类似 子标题 的本地化字符串。
/// </summary>
public static string SubTitle {
get {
@@ -925,7 +934,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 成功.
/// 查找类似 成功 的本地化字符串。
/// </summary>
public static string Success {
get {
@@ -934,7 +943,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 选项卡控件.
/// 查找类似 选项卡控件 的本地化字符串。
/// </summary>
public static string TabControl {
get {
@@ -943,7 +952,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 标签.
/// 查找类似 标签 的本地化字符串。
/// </summary>
public static string Tag {
get {
@@ -952,7 +961,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 正文.
/// 查找类似 正文 的本地化字符串。
/// </summary>
public static string Text {
get {
@@ -961,7 +970,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 文本块.
/// 查找类似 文本块 的本地化字符串。
/// </summary>
public static string TextBlock {
get {
@@ -970,7 +979,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 文本框.
/// 查找类似 文本框 的本地化字符串。
/// </summary>
public static string TextBox {
get {
@@ -979,7 +988,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 时间条.
/// 查找类似 时间条 的本地化字符串。
/// </summary>
public static string TimeBar {
get {
@@ -988,7 +997,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 时间选择器.
/// 查找类似 时间选择器 的本地化字符串。
/// </summary>
public static string TimePicker {
get {
@@ -997,7 +1006,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 标题.
/// 查找类似 标题 的本地化字符串。
/// </summary>
public static string Title {
get {
@@ -1006,7 +1015,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 这是标题.
/// 查找类似 这是标题 的本地化字符串。
/// </summary>
public static string TitleDemoStr1 {
get {
@@ -1015,7 +1024,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 此项必填.
/// 查找类似 此项必填 的本地化字符串。
/// </summary>
public static string TitleDemoStr2 {
get {
@@ -1024,7 +1033,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 标题在左侧.
/// 查找类似 标题在左侧 的本地化字符串。
/// </summary>
public static string TitleDemoStr3 {
get {
@@ -1033,7 +1042,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 切换按钮.
/// 查找类似 切换按钮 的本地化字符串。
/// </summary>
public static string ToggleButton {
get {
@@ -1042,7 +1051,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 工具条.
/// 查找类似 工具条 的本地化字符串。
/// </summary>
public static string ToolBar {
get {
@@ -1051,7 +1060,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 树视图.
/// 查找类似 树视图 的本地化字符串。
/// </summary>
public static string TreeView {
get {
@@ -1060,7 +1069,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 类型.
/// 查找类似 类型 的本地化字符串。
/// </summary>
public static string Type {
get {
@@ -1069,7 +1078,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 上传文件.
/// 查找类似 上传文件 的本地化字符串。
/// </summary>
public static string UploadFile {
get {
@@ -1078,7 +1087,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 警告.
/// 查找类似 警告 的本地化字符串。
/// </summary>
public static string Warning {
get {
@@ -1087,7 +1096,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 瀑布流.
/// 查找类似 瀑布流 的本地化字符串。
/// </summary>
public static string WaterfallPanel {
get {
@@ -1096,7 +1105,7 @@ namespace HandyControlDemo.Properties.Langs {
}
/// <summary>
/// Looks up a localized string similar to 窗口.
/// 查找类似 窗口 的本地化字符串。
/// </summary>
public static string Window {
get {
@@ -462,7 +462,10 @@
<data name="CoverFlow" xml:space="preserve">
<value>CoverFlow</value>
</data>
<data name="NoClientDragableWindow" xml:space="preserve">
<value>open noClient dragable window</value>
<data name="OpenNoNonClientAreaDragableWindow" xml:space="preserve">
<value>open no Non-client Area dragable window</value>
</data>
<data name="DragHere" xml:space="preserve">
<value>Drag here</value>
</data>
</root>
+5 -2
View File
@@ -462,7 +462,10 @@
<data name="CoverFlow" xml:space="preserve">
<value>封面流</value>
</data>
<data name="NoClientDragableWindow" xml:space="preserve">
<value>open noClient dragable window</value>
<data name="OpenNoNonClientAreaDragableWindow" xml:space="preserve">
<value>打开无非客户端区域可拖拽窗口</value>
</data>
<data name="DragHere" xml:space="preserve">
<value>在这里拖拽</value>
</data>
</root>
@@ -14,7 +14,7 @@
<Button Click="ButtonMessage_OnClick" Content="{x:Static langs:Lang.OpenMessageWindow}"/>
<Button Click="ButtonCustomContent_OnClick" Content="{x:Static langs:Lang.OpenCustomContentWindow}"/>
<Button Name="ButtonMouseFollow" Click="ButtonMouseFollow_OnClick" Content="{x:Static langs:Lang.OpenMouseFollowWindow}"/>
<Button Command="{Binding OpenWindowCmd}" CommandParameter="{x:Static data:MessageToken.NoClientDragableWindow}" Content="{x:Static langs:Lang.NoClientDragableWindow}"/>
<Button Command="{Binding OpenWindowCmd}" CommandParameter="{x:Static data:MessageToken.NoNonClientAreaDragableWindow}" Content="{x:Static langs:Lang.OpenNoNonClientAreaDragableWindow}"/>
</UniformGrid>
</controls:TransitioningContentControl>
</UserControl>
@@ -1,22 +0,0 @@
<controls:BlurWindow x:Class="HandyControlDemo.Window.NoClientDragableWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl"
mc:Ignorable="d"
WindowStartupLocation="CenterScreen"
ShowTitle="True"
Style="{StaticResource WindowBlur}"
Icon="/HandyControlDemo;component/Resources/Img/icon.ico"
ShowNonClientArea="False"
controls:DragWindows.EnableDrag="{Binding ElementName=dragCheck, Path=IsChecked}"
Title="NoClientDragableWindow" Height="450" Width="800">
<StackPanel Background="Transparent" Margin="0,40" VerticalAlignment="Top">
<StackPanel Orientation="Horizontal">
<Label Content="IsDragable" Margin="5,5"/>
<ToggleButton IsChecked="True" Name="dragCheck" VerticalAlignment="Center" Style="{StaticResource ToggleButtonSwitch}"/>
</StackPanel>
<Button Content="Close Window" Command="SystemCommands.CloseWindowCommand"/>
</StackPanel>
</controls:BlurWindow>
@@ -1,13 +0,0 @@
namespace HandyControlDemo.Window
{
/// <summary>
/// Interaction logic for NoClientDragableWindow.xaml
/// </summary>
public partial class NoClientDragableWindow
{
public NoClientDragableWindow()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,24 @@
<controls:BlurWindow x:Class="HandyControlDemo.Window.NoNonClientAreaDragableWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl"
xmlns:langs="clr-namespace:HandyControlDemo.Properties.Langs"
mc:Ignorable="d"
WindowStartupLocation="CenterScreen"
ShowTitle="True"
Style="{StaticResource WindowBlur}"
Icon="/HandyControlDemo;component/Resources/Img/icon.ico"
ShowNonClientArea="False"
Title="NoClientDragableWindow"
Height="450"
Width="800">
<Grid>
<Rectangle VerticalAlignment="Top" Margin="10" Height="30" RadiusX="4" RadiusY="4" Stroke="{DynamicResource BorderBrush}" StrokeDashArray="2,2"/>
<Border controls:WindowAttach.IsDragElement="True" VerticalAlignment="Top" Margin="11" Height="28" Background="{DynamicResource DarkDefaultBrush}" CornerRadius="4">
<TextBlock Text="{x:Static langs:Lang.DragHere}" Style="{StaticResource TextBlockDefault}"/>
</Border>
<Button Click="ButtonClose_OnClick" HorizontalAlignment="Right" Margin="0,15,15,0" VerticalAlignment="Top" Padding="0" Height="20" Width="20" Style="{StaticResource ButtonPrimary}" controls:IconElement.Geometry="{StaticResource CloseGeometry}" controls:BorderElement.CornerRadius="15"/>
</Grid>
</controls:BlurWindow>
@@ -0,0 +1,14 @@
using System.Windows;
namespace HandyControlDemo.Window
{
public partial class NoNonClientAreaDragableWindow
{
public NoNonClientAreaDragableWindow()
{
InitializeComponent();
}
private void ButtonClose_OnClick(object sender, RoutedEventArgs e) => Close();
}
}