WPF-拖动面板移动窗口&设置窗口状态

  在需要去掉窗口边框的情景下往往需要有拖动面板直接移动窗口和自定义按钮改变窗口状态和关闭的功能

拖动面板移动窗口
  为面板控件添加MouseMove事件,
  面板控件指的是用来当面板的控件,可以是grid、rectangle等等
  但注意,这个控件的主体(grid.background或rectangle.fill等)可以是透明的但不能是空的
  否则效果不正常

  代码:

1 private void Grid_MouseMove(object sender, MouseEventArgs e)
2 {
3     //监测左键是否按下
4     if (e.LeftButton == MouseButtonState.Pressed)
5     {
6         //执行移动
7         this.DragMove();
8     }
9 }    

改变窗口状态及关闭窗口

  可直接设置窗体WindowsState的值进行最大化最小化

  如:

 1 private void bnMinimize_Click(object sender,RoutedEventArgs e)
 2 {
 3     //改变窗口状态
 4   this.WindowState = WindowState.Minimized;
 5 }
 6 private void bnClose_Click(object sender,RoutedEventArgs e)
 7 {
 8     //关闭窗口
 9   this.Close();
10 }
原文地址:https://www.cnblogs.com/dusmos/p/3635420.html