得鹿梦鱼 得鹿梦鱼

WPF窗体

自定义的窗体均继承System.Windows.Window类(类型化窗体)

代码示例

// xmal文件<Window    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    x:Class="WpfWindow.BasicWindow"    x:Name="Window"    Title="BasicWindow"     Width="300" Height="200">    <Canvas>        <Button x:Name="btnMessage" Width="79" Height="24" Content="OK"             Canvas.Left="172" Canvas.Top="93" Click="btnMessage_Click"/>        <TextBox x:Name="txtValue" Width="215" Height="25"             Canvas.Left="36" Canvas.Top="48" Text="" TextWrapping="Wrap"/>    </Canvas></Window>
// .cs文件using System;using System.Windows;namespace WindowHelloWorld {    public partial class BaseWindow: Window    {        public BaseWindow{            this.InitializeComponent;        }        private void btnMessage_ClickObject sender, RoutedEventArgs e        {            txtValue = "Hello World";        }    }}

窗体的生存周期

  • 显示窗体

Show、ShowDialog方法:Show方法显示非模态窗口,ShowDialog方法显示模态窗口
Loaded事件:窗体第一次Show或ShowDialog时引发的事件,通常在此事件中加载窗体的初始化数据

  • 关闭窗体

Close方法:关闭窗体,并释放窗体的资源
Closing事件、Closed事件:关闭时、关闭后引发的事件,通常在Closing事件中提示用户是否退出

  • 窗体激活

Activate方法:激活某窗体
Activated、Deactivated事件:当窗体激动、失去焦点时引发的事件

窗体的生存周期

常用属性

  • 窗体边框模式(WindowStyle属性)和是否允许更改窗体大小(ResizeMode属性)
  • 窗体启动位置(WindowStartupLocation属性)和启动状态(WindowState属性)
  • 窗体标题(Title属性)
  • 始终在最前(TopMost属性)
  • 是否显示在任务栏(ShowInTaskbar)