目标:由于需求界面美观,圆角边距等等,所以整个界面使用背景图,去除自带边框及按钮。
1.去除系统自带边框、按钮。
2.自定义退出按钮,并对退出进行提示框提示,同时解决了Alt+F4退出的不提示的问题。
操作:
设置Window属性 AllowsTransparency="True" 透明
WindowStyle="None" 去除边框
MouseDown="Window_MouseDown" 由于没有边框无法鼠标拖动,所以定义拖动方法
Closing="Window_Closing"> 设置页面关闭触发方法
<Window x:Class="QfpayPC.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="740" Width="936" AllowsTransparency="True" WindowStyle="None" MouseDown="Window_MouseDown" Closing="Window_Closing">
Window_MouseDown:
//界面可以拖动 private void Window_MouseDown(object sender, MouseButtonEventArgs e) { if (e.LeftButton == MouseButtonState.Pressed) { DragMove(); } }
Window_Closing:
//退出提示程序 private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { MessageBoxResult result = MessageBox.Show("正在交易中,您真的要退出吗?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { Application.Current.Shutdown(); } else { e.Cancel = true; } }
自定义关闭按钮、最小化按钮
private void btnClose_Click(object sender, RoutedEventArgs e){ this.Close(); } private void btnClose_Click(object sender, RoutedEventArgs e){
this.WindowState = WindowState.Minimized;
}