这是一个让WPF可以在窗口之外区域获得拖动缩放能力的控件。
只需要在指定窗口的xaml添加如下的依赖属性即可
并且通过Radius设置border的Thickness
<Window x:Class="WpfApp2.MainWindow"
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:extendedResizeBorder="clr-namespace:ExtendedResizeBorder;assembly=ExtendedResizeBorder"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<extendedResizeBorder:ExtendedResizeBorder.ExtendedResizeBorder>
<extendedResizeBorder:ExtendedResizeBorder Radius="100" />
</extendedResizeBorder:ExtendedResizeBorder.ExtendedResizeBorder>
<Grid Background="Transparent" MouseDown="UIElement_OnMouseDown">
<Grid Margin="100" Background="White" />
<Button Width="100" Height="100" Command="Undo" />
</Grid>
</Window>