使用自定义窗口拖动

时间:2013-01-27 23:32:04

标签: wpf styles draggable

我有一个WPF窗口,没有默认的窗口'chrome。'

<Window x:Class="Genesis.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Genesis (Alpha)" Height="812" Width="917" Loaded="Window_Loaded"
    DataContext="{Binding RelativeSource={RelativeSource Self}}" Name="Genesis" Closing="Genesis_Closing"
    WindowStyle="None" BorderThickness="0" Margin="0" ShowInTaskbar="False" AllowsTransparency="True" Background="#F8F8F8"></Window>

由于用于拖动窗口的默认栏不存在,我无法拖动窗口。如何使用新控件重新创建拖动?

1 个答案:

答案 0 :(得分:2)

您需要使用Window.DragMove方法。

从上面链接:

  

允许鼠标拖动窗口,其左键按下窗口客户区的曝光区域。

这样的事情:

private void Genesis_MouseDown(object sender, MouseButtonEventArgs e)
{
    if (Mouse.LeftButton == MouseButtonState.Pressed )
        this.DragMove();
}