国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【W(wǎng)PF.NET開發(fā)】WPF中的窗口

這篇具有很好參考價值的文章主要介紹了【W(wǎng)PF.NET開發(fā)】WPF中的窗口。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1、窗口類

2、實現(xiàn)窗口

2.1 為 MSBuild 配置窗口

3、窗口生存期

3.1 打開窗口

3.2 窗口激活

3.3 關閉窗口

3.4 窗口生存期事件

4、窗口位置

4.1 最頂層窗口和 z 順序

5、窗口大小

6、大小調(diào)整屬性的優(yōu)先級順序

7、窗口狀態(tài)

8、窗口外觀

8.1 重設大小模式

8.2 Window style

8.3 任務欄顯示

9、其他類型的窗口


用戶通過窗口與 Windows Presentation Foundation (WPF) 應用程序交互。 窗口的主要用途是托管使數(shù)據(jù)可視化并使用戶能夠與數(shù)據(jù)交互的內(nèi)容。 WPF 應用程序使用?Window
?類提供自己的窗口。 本文先介紹?
Window,然后講述在應用程序中創(chuàng)建和管理窗口的基礎知識。

本文使用從 C# 項目生成的 XAML。?如果使用 Visual Basic,則 XAML 看上去可能有不同。?這些差異通常出現(xiàn)在?x:Class?屬性值上。 C# 包括項目的根命名空間,而 Visual Basic 不包括。

C# 的項目模板創(chuàng)建了一個?App?類型,包含在?app.xaml?文件中。 在 Visual Basic 中,該類型名為?Application,該文件名為?Application.xaml。

1、窗口類

在 WPF 中,窗口由用于執(zhí)行以下操作的?
Window?類封裝:

  • 顯示窗口。
  • 配置窗口的大小、位置和外觀。
  • 托管特定于應用程序的內(nèi)容。
  • 管理窗口的生存期。

下圖展示了窗口的構成部分:

【W(wǎng)PF.NET開發(fā)】WPF中的窗口,WPF.NET 專欄,wpf,.net,c#,windows

窗口分為兩個區(qū)域:非工作區(qū)和工作區(qū)。

窗口的非工作區(qū)由 WPF實現(xiàn),它包括大多數(shù)窗口所共有的窗口部分,包括:

  • 標題欄 (1-5)。
  • 圖標 (1)。
  • 標題 (2)。
  • 最小化 (3)、最大化 (4) 和關閉 (5) 按鈕。
  • 包含菜單項的系統(tǒng)菜單 (6)。 單擊圖標 (1) 時出現(xiàn)。
  • 邊框 (7)。

窗口的工作區(qū)是窗口的非工作區(qū)內(nèi)部的區(qū)域,由開發(fā)人員用于添加特定于應用程序的內(nèi)容,例如菜單欄、工具欄和控件。

  • 工作區(qū) (8)。
  • 大小調(diào)整手柄 (9)。 這是添加到工作區(qū) (8) 的控件。

2、實現(xiàn)窗口

典型窗口的實現(xiàn)既包括外觀又包括行為,外觀定義用戶看到的窗口的樣子,行為定義用戶與之交互時窗口的運行方式。?在 WPF 中,可以使用代碼或 XAML 標記實現(xiàn)窗口的外觀和行為。

但在一般情況下,窗口的外觀使用 XAML 標記實現(xiàn),行為使用代碼隱藏實現(xiàn),如以下示例所示。

<Window x:Class="WindowsOverview.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WindowsOverview"
        >

    <!-- Client area containing the content of the window -->
    
</Window>

下面的代碼是 XAML 的代碼隱藏。

using System.Windows;

namespace WindowsOverview
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }
    }
}

若要使 XAML 標記文件和代碼隱藏文件配合工作,需要滿足以下要求:

  • 在標記中,Window?元素必須包含?x:Class?屬性。 生成應用程序時,標記文件中存在?x:Class?會使 Microsoft 生成引擎 (MSBuild) 生成派生自?
    Window?的?partial?類,其名稱由?x:Class?屬性指定。 這要求為 XAML 架構 (xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml") 添加 XAML 命名空間聲明。 生成的?partial?類實現(xiàn)?InitializeComponent?方法,注冊事件和設置在標記中實現(xiàn)的屬性時將調(diào)用此方法。

  • 在代碼隱藏中,類必須是?partial?類、名稱必須是標記中?x:Class?屬性指定的相同名稱,并且它必須派生自?
    Window。 這樣,代碼隱藏文件就與應用程序生成時為標記文件生成的?partial?類相關聯(lián)。

  • 在代碼隱藏中,
    Window?類必須實現(xiàn)調(diào)用?InitializeComponent?方法的構造函數(shù)。?InitializeComponent?由標記文件已生成的?partial?類實現(xiàn),用以注冊事件并設置標記中定義的屬性。

使用 Visual Studio 將新的?Window
?添加到項目時,
Window?通過同時使用標記和代碼隱藏實現(xiàn),并且包括必要的配置來創(chuàng)建此處所述的標記文件和代碼隱藏文件之間的關聯(lián)。

進行了此配置后,可以專注于在 XAML 標記中定義窗口的外觀,并可在代碼隱藏中實現(xiàn)窗口的行為。 以下示例顯示了一個窗口,該窗口中的一個按鈕定義了?
Click?事件的事件處理程序。 這是在 XAML 中實現(xiàn)的,處理程序是在代碼隱藏中實現(xiàn)的。

<Window x:Class="WindowsOverview.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WindowsOverview"
        >

    <!-- Client area containing the content of the window -->

    <Button Click="Button_Click">Click This Button</Button>
    
</Window>

下面的代碼是 XAML 的代碼隱藏。

using System.Windows;

namespace WindowsOverview
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Button was clicked.");
        }
    }
}

2.1 為 MSBuild 配置窗口

實現(xiàn)窗口的方式?jīng)Q定為 MSBuild 配置窗口的方式。 對于使用 XAML 標記和代碼隱藏定義的窗口:

  • XAML 標記文件配置為 MSBuild?Page?項。
  • 代碼隱藏文件配置為 MSBuild?Compile?項。

.NET SDK 項目會自動導入正確的?Page?和?Compile?項,無需對其進行聲明。 如果為 WPF 配置了項目,則會將 XAML 標記文件文章來源地址http://www.zghlxwxcb.cn/news/detail-756442.html

到了這里,關于【W(wǎng)PF.NET開發(fā)】WPF中的窗口的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【W(wǎng)PF.NET開發(fā)】預覽事件

    先決條件 預覽標記為“已處理”的事件 通過控件解決事件禁止問題 預覽事件,也稱為隧道事件,是從應用程序根元素向下遍歷元素樹到引發(fā)事件的元素的路由事件。 引發(fā)事件的元素在事件數(shù)據(jù)中報告為Source 。 并非所有事件場景都支持或需要預覽事件。 本文介紹了預覽事件

    2024年02月03日
    瀏覽(29)
  • 【W(wǎng)PF.NET開發(fā)】流文檔

    【W(wǎng)PF.NET開發(fā)】流文檔

    什么是流文檔? 流文檔類型 創(chuàng)建流內(nèi)容 與流相關的類 內(nèi)容架構 自定義文本 流文檔旨在優(yōu)化查看和可讀性。 流文檔根據(jù)運行時變量(例如,窗口大小、設備分辨率和可選的用戶首選項)來動態(tài)調(diào)整和重新排列內(nèi)容,而不是設置為一個預定義的布局。 此外,流文檔還提供一

    2024年01月17日
    瀏覽(21)
  • 【W(wǎng)PF.NET開發(fā)】弱事件模式

    先決條件 為什么要實現(xiàn)弱事件模式? 應該由誰實現(xiàn)弱事件模式? 如何實現(xiàn)弱事件模式 在應用程序中,附加到事件源的處理程序可能不會與將處理程序附加到源的偵聽器對象一同銷毀。 這種情況下會導致內(nèi)存泄漏。 Windows Presentation Foundation (WPF) 引入了可用于解決此問題的設

    2024年02月03日
    瀏覽(24)
  • 【W(wǎng)PF.NET開發(fā)】OpenType字體

    【W(wǎng)PF.NET開發(fā)】OpenType字體

    OpenType 字體格式 變量 大寫字母 連字 花體 備用項 數(shù)字樣式 版式類 本主題概述了 Windows Presentation Foundation (WPF) 中 OpenType 字體技術的一些主要功能。 OpenType 字體格式是 TrueType? 字體格式的擴展,增加了對 PostScript 字體數(shù)據(jù)的支持。 OpenType 字體格式由 Microsoft 和 Adobe Corporatio

    2024年01月16日
    瀏覽(27)
  • .NET 8 中的 WPF File Dialog 改進

    .NET 8 中的 WPF File Dialog 改進

    作者:Dipesh Kumar 排版:Alan Wang 我們很高興宣布從 .NET 8 Preview 7 開始,對 WPF 中的通用文件對話框 API 進行了一系列新的改進。其中包括迄今為止存儲庫中投票最多的 API 建議 – 允許用戶選擇文件夾的 OpenFolderDialog 控件 – 以及文件對話框上支持新的用戶場景的幾個新屬性,例

    2024年02月07日
    瀏覽(26)
  • VisualStudio[WPF/.NET]基于CommunityToolkit.Mvvm架構開發(fā)

    VisualStudio[WPF/.NET]基于CommunityToolkit.Mvvm架構開發(fā)

    項目模板選擇如下: 暫時隨機填一個目標框架,待會改: 雙擊“解決方案資源管理器”中項目CU-APP, 打開項目工程文件CU-APP.csproj, 修改目標框架 TargetFramework 為.net framework 4.7.2 ;? C#語言版本 LangVersion 為? 9.0 ?\\\"工具\\\" - \\\"NuGet包管理器\\\",“管理解決方案的NuGet程序包(N)”,? 或者,

    2024年02月07日
    瀏覽(28)
  • .NET6: 開發(fā)基于WPF的摩登三維工業(yè)軟件 (7)

    Python微信訂餐小程序課程視頻 https://edu.csdn.net/course/detail/36074 Python實戰(zhàn)量化交易理財系統(tǒng) https://edu.csdn.net/course/detail/35475 做為一個摩登的工業(yè)軟件,提供可編程的腳本能力是必不可少的能力。腳本既可以方便用戶進行二次開發(fā),也對方便對程序進行自動化測試。本文將結合

    2024年02月05日
    瀏覽(30)
  • 使用.net 6.0框架的WPF應用如何引用System.Windows.Forms這個dll

    在.net 6.0的WPF應用中,想使用OpenFileDialog 這個類或者FolderBrowserDialog這個類,是無法找到System.Windows.Forms這個dll引用的,即使從系統(tǒng)C盤里搜索到System.Windows.Forms.dll放到項目里,也會出現(xiàn)異常,而無法識別WPF自帶的一些初始化方法。 OpenFileDialog還好,因為他有兩個命名空間都有它

    2024年02月12日
    瀏覽(19)
  • .net wpf程序 移花接木

    .net wpf程序 移花接木

    最近在研究C# .net桌面程序。非常有趣 軟件是國外作者寫的 公司要求修改翻譯 從最初的開源變成閉源再到加殼. 一路讓我這個小小的職員好蛋疼. 軟件是VS2015 C# WPF 程序 在不脫殼的情況下 實現(xiàn)掛鉤類托管函數(shù) 遍歷WPF控件漢化 首先通過各種手段脫殼目標程序,哪怕是不能運行

    2024年02月07日
    瀏覽(22)
  • WPF .NET 7.0學習整理(一)

    參照文檔進行不系統(tǒng)的整理,看到那寫到那O.o DependencyProperty:使用專有字段支持屬性的標準模式的替代方法。 DependencyObject:定義了可以注冊和擁有依賴屬性的基類。 屬性及其支持性 DependencyProperty 字段的命名約定非常重要。 字段總是與屬性同名,但其后面追加了 Property 后

    2024年02月09日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包