WPF入門-使用C#創建簡單應用


本文,你將熟悉在使用VS2019開發應用程序時可使用的許多工具、對話框和設計器。將創建一個“Hello World”應用程序、UI設計器、添加代碼並調試錯誤。

先決條件:

  • 安裝Visual Studio 2019(16.3或者更高版本)。本文環境是16.8

一、創建項目

  1、打開VS2019,

  2、在‘開始’窗口,選擇‘創建新項目’:

  

  3、選擇‘WPF App (.NET)’,最后選擇‘下一步’:

  

 

 

   4、在接下來的對話框中,輸入項目名稱和指定存儲位置,最后選擇‘創建’:

  

 

 

   到此,VS將創建項目和解決方案,“解決方案資源管理器”將顯示各種文件,WPF設計器在拆分視圖中顯示MainWindow.xaml的設計視圖和XAML視圖:

  

  在創建項目后,可以進行自定義操作。選擇‘視圖’->‘屬性窗口’ 或者按F4,就可以顯示或更改應用程序中的項目項、控件和其他選項:

  

 

  5、更改MainWindow.XAML的名稱

   在‘解決方案資源管理器’中,右鍵單擊‘MainWindow.xaml’,然后選擇‘重命名’,將文件重名為“Greetings.xaml”。

 

   

 

 

二、設計用戶界面UI

    選擇“Greetings.xaml”,按Shift+F7打開設計器。

   接下來我們將三種類型的控件添加到此應用程序中:一個TextBlock控件,兩個RadioButton控件和一個Button控件。

  添加TextBlock控件

    1、選擇‘視圖’-‘工具箱’,以打開工具箱

    

    2、在‘常用WPF控件’中找到TextBlock控件。然后將其拖拽到設計圖的窗口中。把控件居中到窗口的頂部附近。拖拽的過程中會有紅色參考線作為參考。效果如下:

    

 

 

     XAML標記自動做如下改變:

    <Grid>
        <TextBlock x:Name="textBlock" HorizontalAlignment="Center" Text="TextBlock" TextWrapping="Wrap" VerticalAlignment="Top" Margin="0,91,0,0"/>
    </Grid>

    3、自定義TextBlock中的文本

    在XAML視圖中,找到TextBlock標記,並將TextBox屬性更為“選擇一個消息選項,然后選擇顯示按鈕”:

    <Grid>
        <TextBlock x:Name="textBlock" HorizontalAlignment="Center" Text="選擇一個消息選項,然后選擇顯示按鈕" TextWrapping="Wrap" VerticalAlignment="Top" Margin="0,107,0,0"/>

    </Grid>

    按Ctrl+S,以保存更改。

  添加單選按鈕RadioButton

    1、在工具箱中找到RadioButton控件,並拖拽兩次到設計圖窗口中。移動兩個按鈕,將其並排顯示在TextBlock控件下:

    

    2、選中左側的RadioButton控件,在‘屬性’窗口中,將‘名稱’屬性更改為HelloButton:

    

 

 

     3、同樣的方法,將右側的RadioButton控件的名稱屬性改為GoodbyeButton。最后保存更改。

    4、為每個單選按鈕添加顯示文本

    在XAML中將HelloButton和GoodbyeButton的Content屬性更新為“Hello”和“Goodbye”:

    <Grid>
        <TextBlock x:Name="textBlock" HorizontalAlignment="Center" Text="選擇一個消息選項,然后選擇顯示按鈕" TextWrapping="Wrap" VerticalAlignment="Top" Margin="0,107,0,0"/>
        <RadioButton x:Name="HelloButton" Content="Hello" HorizontalAlignment="Left" Margin="298,160,0,0" VerticalAlignment="Top"/>
        <RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left" Margin="411,160,0,0" VerticalAlignment="Top"/>
    </Grid>

    5、設置默認選中的單選按鈕

    設置默認要選中HelloButton控件。這樣的話兩個單選按鈕始終有一個處於選中狀態。可以通過為控件添加IsChecked屬性,並將其設置為True來實現:

    <Grid>
        <TextBlock x:Name="textBlock" HorizontalAlignment="Center" Text="選擇一個消息選項,然后選擇顯示按鈕" TextWrapping="Wrap" VerticalAlignment="Top" Margin="0,107,0,0"/>
        <RadioButton x:Name="HelloButton" Content="Hello" IsChecked="True" HorizontalAlignment="Left" Margin="298,160,0,0" VerticalAlignment="Top"/>
        <RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left" Margin="411,160,0,0" VerticalAlignment="Top"/>
    </Grid>

  添加按鈕控件Button

    1、在‘工具箱’中找到Button控件,拖拽到設計視圖窗口中RadioButton控件的下面。出現一個紅線的時候,表示居中了。

    2、XAML視圖中,將Button的Content屬性更改為“顯示”。最終的XAML標記:

    <Grid>
        <TextBlock x:Name="textBlock" HorizontalAlignment="Center" Text="選擇一個消息選項,然后選擇顯示按鈕" TextWrapping="Wrap" VerticalAlignment="Top" Margin="0,107,0,0"/>
        <RadioButton x:Name="HelloButton" Content="Hello" IsChecked="True" HorizontalAlignment="Left" Margin="298,160,0,0" VerticalAlignment="Top"/>
        <RadioButton x:Name="GoodbyeButton" Content="Goodbye" HorizontalAlignment="Left" Margin="411,160,0,0" VerticalAlignment="Top"/>
        <Button x:Name="button" Content="顯示" HorizontalAlignment="Center" VerticalAlignment="Center"/>
    </Grid>

    設計視圖效果:

    

    3、向顯示按鈕添加代碼

    此應用程序運行時,用戶選擇單選按鈕,再選擇‘顯示’按鈕之后,會顯示一個消息框:如果選擇HelloButton將顯示一個消息框,如果選擇GoodbyeButton則會顯示另外一個消息框。如果實現上述效果,可以將如下代碼添加到Greetings.xaml.cs文件中的Button_Click事件(設計視圖上雙擊“顯示”按鈕,會自動打開Greetings.xaml.cs文件,且光標會定位到Button_Click事件上):

        private void button_Click(object sender, RoutedEventArgs e)
        {
            if (HelloButton.IsChecked == true)
            {
                MessageBox.Show("Hello~");
            }
            else if (GoodbyeButton.IsChecked == true)
            {
                MessageBox.Show("GoodBye!");
            }
        }

    保存。

 三、調試、測試應用程序

  下面將調試應用程序,查找應用程序的錯誤並測試兩個消息框是否正確顯示。

  1、調試和查找錯誤

    按 F5或者選擇‘調試’-‘開始調試’,啟動調試程序。

    將出現“中斷模式”窗口,並提示:找不到資源‘MainWindow.xaml’:

    

 

 

     按Shift+F5 或者選擇‘調試’-‘終止調試’,停止調試程序。

  2、解決錯誤

    程序錯誤原因:本文開始時,我們將MainWindow.xaml重名為Greetings.xaml,但是該應用仍然引用MainWindow.xaml作為程序的啟動URI。

    解決方法:將Greetings.xaml指定為啟動URI。具體操作如下:

    ①在‘解決方案資源管理器’中,打開App.xaml文件;

    ②將 StartupUri="MainWindow.xaml"更改為 StartupUri="Greetings.xaml"。

    ③更改窗口標題。打開Greetings.xaml,將Title設置為"問候":

    Title="問候"

    ④保存更改

  3、添加斷點以進行調試

    ①打開“Greetings.xaml.cs”,並選擇以下行:MessageBox.Show("Hello.")

    ②通過選擇 “調試” -> “切換斷點” ,從菜單中添加斷點。此時,編輯器窗口最左側邊距中該代碼行附近將顯示一個紅圈。

    ③選擇以下行: MessageBox.Show("Goodbye.")。然后按F9以添加斷點。

    ④按F5,啟動調試。效果如下:

    

    ⑤在“問候”窗口中,選擇Hello按鈕,然后選擇“顯示”按鈕。

 

 

     行 MessageBox.Show("Hello.") 將用黃色突出顯示。 在 IDE 底部,“自動”、“局部”和“監視”窗口一起停靠在左側,而“XAML綁定失敗”、“調用堆棧”、“斷點”、“異常設置”、“命令”、“即時”和“輸出”等窗口一起停靠在右側:

    

 

 

     ⑥選擇‘調試’-‘跳出’,或者按F5,應用程序將會繼續執行,並彈出帶有Hello的消息框。

    

 

     ⑦選擇消息框中的確定按鈕,將其關閉。

    ⑧在“問候”窗口中,選擇Goodbye按按鈕,然后選擇“顯示”按鈕……重復第⑤到⑦步驟。

    ⑨關閉應用程序,此時會自動停止調試。

    ⑩選擇‘調試’-‘禁用所有斷點’。此時所有的紅色的斷點換變成黑心紅圈樣式。

  4、生成應用程序的發布版本

    確定一切無誤后,就可以准備該應用程序的發布版本了。

    ①選擇‘生成’-‘清理解決方案’,刪除上一個生成過程中創建的中間文件和輸出文件。這不是必須的,但是它會清理調試生成的輸出。

    ②把HelloWorldApp的生成配置由“Debug”改為“Release”:

    

 

     ③選擇‘生成’-‘生成解決方案’。或者在解決方案資源管理器中的解決方案上,右鍵選擇‘生成解決方案’。在輸出窗口中顯示如下信息,則恭喜你完成本教程!

    

 

     最終,可在解決方案和項目目錄下(...\HelloWorldApp\bin\Release\netcoreapp3.1)找到生成的.exe文件。如果在第②步驟中,設置的是Debug模式的話,則對應的目錄是…\HelloWorldApp\bin\Debug\netcoreapp3.1。

    

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM