美文网首页
【WPF】wpf关于窗口的一些设置属性

【WPF】wpf关于窗口的一些设置属性

作者: UnicornChen | 来源:发表于2019-05-30 16:57 被阅读0次

    1.窗口的外观

      2.窗口的位置

      3.窗口的大小

      4.窗口的可见性和状态

      5.窗口的生命周期

    1.窗口的外观

      WPF中默认窗口框架的外观,主要取决于Icon、Title、WindowsStyle、ResizeMode等属性。

      Icon 指定窗口的图标;

      Title 指定窗口的标题;

      WindowStyle 指定窗口样式,有4个取值:

        None,无边框;(当ResizeMode属性为NoResize时,仅剩下窗口核心。)

        SingleBorderWindow,单边框【默认】;

        ThreeDBorderWindow,3D边框;

        ToolBorderWindow,工具箱窗口;

     ResizeMode 是指定大小调节样式,有4个取值:

        NoResize,不可调节,同时没有最大最小按钮;

        CanMinimize,不可调节。但可以最小化;(此时最大化按钮不可用)

        CanResize,可调节【默认】;

        CanResizeWithGrid,可根据网格调节;(窗口右下脚显示可调节网格)


    2.窗口的位置

      WindowStartLocation 指定窗口初始位置,有3个取值:

        Manual,手工指定位置,表示可以通过设置其Top、Left属性值来决定窗口的初始位置;

        CenterScreen,屏幕中央;

        CenterOwner,父窗体中央;

      TopMost 调节窗口的前后顺序,属性值为true时,窗口位于最前。

        TopMost值为true的窗口,位于TopMost值为false的窗口之前(如下图记事本与示例窗口);

        TopMost值都为true的窗口,获得焦点的窗口位于前。

    3.窗口的大小

      Width、Height,分别表示窗口的宽度和高度,称为“尺寸属性”。

      MaxWidth、MinWidth、MaxHeight、MinHeight,分别表示窗口最大宽度、最小宽度、最大高度、最小高度。可以通过得到和更改这些属性值,来获取和改变窗口的大小和长宽范围。

      ActualWidth、ActualHeight,分别表示窗口的实际宽度和实际高度,称为“实际尺寸属性”。

    实际尺寸属性是根据当前窗口大小、最小化时窗口大小和最大化时窗口大小来计算得到的,其值是只读的,也就是说,不能通过改变ActualWidth、ActualHeight的值来更改窗口大小。

      SizeToContent,表示窗口大小由内容决定,有4个取值:

        Manual,手工【默认】;

        Width,窗体宽度由内容决定;

        Height,窗体高度由内容决定;

        WidthAndHeight,窗体大小由内容决定;

      如果内容尺寸超过了窗口的最大或最小范围,还是以最大/最小范围为主。如果手工指定了窗口的Width、Height 属性,那么SizeToContent将被忽略。

      ReSize,窗口大小的可调整性(第1部分已提到)。

    4.窗口的可见性和状态

      Visibility,窗口可见性,有4个枚举值:

        Visiable,可见;

        Hidden,隐藏;

        Collapsed,折叠。

      虽然窗口类认为Collapsed与Hidden一样,但二者区别在于,Hidden仅仅将元素设为不可见,但是元素在画面上依然占有空间;而Collapsed,在不可视的基础上,能将元素在画面上的占位符清除,元素彻底不影响画面。

      Show、Hide,显示窗口和隐藏窗口的两个方法。如果窗口的ShowInTaskbar属性值为true,Hide不但隐藏窗口本身,同时隐藏其在任务栏上的图标。

      WindowState,窗口状态属性,有3个枚举值:

        Normal,正常;

        Maximized,最大化;

        Minimized,最小化;

      RestoreBounds,获取窗口在最小化或最大化之前的大小和位置,有4个枚举值,Top、Left、Width、Height。

    //输出当前窗口的RestoreBounds值

    private void button1_Click(object sender, RoutedEventArgs e)

    {

    MessageBox.Show(this.RestoreBounds.ToString());

    }

    该主窗口的Top:75,Left:75,Width:525,Height:350

    5.窗口的生命周期

     关于各事件的描述:

      Initialized:当窗口的FrameworkElement底层初始化时触发,即InitializeComponent方法调用时触发。

      LocationChanged:窗口被移动时触发。

      Activated:窗口被激活时触发。

      Deactivated:窗口处于非激活时(即其他窗口处于激活时)触发。

      Loaded:显示窗口之前触发。

      ContentRendered:当内容显示的时候触发。

      Closing:尝试关闭窗口时触发,可以将参数CancelEventArgs的Cancel的属性设置为true,取消关闭操作。

      Closed:在窗口关闭后触发该事件,无法取消。

      Unloaded:当关闭窗口并且从可视化树移除后触发。

    相关文章

      网友评论

          本文标题:【WPF】wpf关于窗口的一些设置属性

          本文链接:https://www.haomeiwen.com/subject/cwvvtctx.html