WPF入门-使用C#创建简单应用

摘要:
在本文中,您将熟悉使用VS2019开发应用程序时可以使用的许多工具、对话框和设计器。创建“HelloWorld”应用程序,创建UI设计器,添加代码,并调试错误。添加TextBlock控件1。选择“查看工具箱”以打开工具箱。2.在公共WPF控件中查找TextBlock控件。这样,两个单选按钮中的一个始终处于选中状态。当出现红线时,表示它居中。2.在XAML视图中,将Button的Content属性更改为Display。

本文,你将熟悉在使用VS2019开发应用程序时可使用的许多工具、对话框和设计器。将创建一个“Hello World”应用程序、UI设计器、添加代码并调试错误。

先决条件:

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

一、创建项目

  1、打开VS2019,

  2、在‘开始’窗口,选择‘创建新项目’:

  WPF入门-使用C#创建简单应用第1张

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

  WPF入门-使用C#创建简单应用第2张

   4、在接下来的对话框中,输入项目名称和指定存储位置,最后选择‘创建’:

  WPF入门-使用C#创建简单应用第3张

   到此,VS将创建项目和解决方案,“解决方案资源管理器”将显示各种文件,WPF设计器在拆分视图中显示MainWindow.xaml的设计视图和XAML视图:

  WPF入门-使用C#创建简单应用第4张

  在创建项目后,可以进行自定义操作。选择‘视图’->‘属性窗口’ 或者按F4,就可以显示或更改应用程序中的项目项、控件和其他选项:

  WPF入门-使用C#创建简单应用第5张

  5、更改MainWindow.XAML的名称

   在‘解决方案资源管理器’中,右键单击‘MainWindow.xaml’,然后选择‘重命名’,将文件重名为“Greetings.xaml”。

   WPF入门-使用C#创建简单应用第6张

二、设计用户界面UI

    选择“Greetings.xaml”,按Shift+F7打开设计器。

   接下来我们将三种类型的控件添加到此应用程序中:一个TextBlock控件,两个RadioButton控件和一个Button控件。

  添加TextBlock控件

    1、选择‘视图’-‘工具箱’,以打开工具箱

    WPF入门-使用C#创建简单应用第7张

    2、在‘常用WPF控件’中找到TextBlock控件。然后将其拖拽到设计图的窗口中。把控件居中到窗口的顶部附近。拖拽的过程中会有红色参考线作为参考。效果如下:

    WPF入门-使用C#创建简单应用第8张

     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控件下:

    WPF入门-使用C#创建简单应用第9张

    2、选中左侧的RadioButton控件,在‘属性’窗口中,将‘名称’属性更改为HelloButton:

    WPF入门-使用C#创建简单应用第10张

     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>

    设计视图效果:

    WPF入门-使用C#创建简单应用第11张

    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’:

    WPF入门-使用C#创建简单应用第12张

     按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,启动调试。效果如下:

    WPF入门-使用C#创建简单应用第13张

    ⑤在“问候”窗口中,选择Hello按钮,然后选择“显示”按钮。

     行 MessageBox.Show("Hello.") 将用黄色突出显示。 在 IDE 底部,“自动”、“局部”和“监视”窗口一起停靠在左侧,而“XAML绑定失败”、“调用堆栈”、“断点”、“异常设置”、“命令”、“即时”和“输出”等窗口一起停靠在右侧:

    WPF入门-使用C#创建简单应用第14张

     ⑥选择‘调试’-‘跳出’,或者按F5,应用程序将会继续执行,并弹出带有Hello的消息框。

    WPF入门-使用C#创建简单应用第15张

     ⑦选择消息框中的确定按钮,将其关闭。

    ⑧在“问候”窗口中,选择Goodbye按按钮,然后选择“显示”按钮……重复第⑤到⑦步骤。

    ⑨关闭应用程序,此时会自动停止调试。

    ⑩选择‘调试’-‘禁用所有断点’。此时所有的红色的断点换变成黑心红圈样式。

  4、生成应用程序的发布版本

    确定一切无误后,就可以准备该应用程序的发布版本了。

    ①选择‘生成’-‘清理解决方案’,删除上一个生成过程中创建的中间文件和输出文件。这不是必须的,但是它会清理调试生成的输出。

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

    WPF入门-使用C#创建简单应用第16张

     ③选择‘生成’-‘生成解决方案’。或者在解决方案资源管理器中的解决方案上,右键选择‘生成解决方案’。在输出窗口中显示如下信息,则恭喜你完成本教程!

    WPF入门-使用C#创建简单应用第17张

     最终,可在解决方案和项目目录下(...HelloWorldAppinRelease etcoreapp3.1)找到生成的.exe文件。如果在第②步骤中,设置的是Debug模式的话,则对应的目录是…HelloWorldAppinDebug etcoreapp3.1。

    

    

免责声明:文章转载自《WPF入门-使用C#创建简单应用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Senparc.Weixin.MP SDK 微信公众平台开发教程(九):自定义菜单接口说明Handler dispatch failed; nested exception is java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyResultSet.isClosed()Z is abstract下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【web/app】charles抓包https/模拟弱网/设置断点/修改接口请求值或返回值/压测

charles几个常用功能 charles本质一是一个代理服务器,可以抓移动端也可以抓web端,都需要安装证书   1,抓包https网页:(如未配置,会显示unknown) 第一步:安装证书 if 移动端,首先:给手机安装SSL证书 手机和电脑在同一wifi下,手机wifi配置http代理,ip是电脑ip,端口一般默认8888 安装SSL证书到手机,...

WPF笔记(1.2 Navigation导航)——Hello,WPF!

这一节是讲导航的。看了一遍,发现多不能实现,因为版本更新了,所以很多旧的语法不支持了,比如说,不再有NavigationApplication,仍然是Application,TextBlock容器的TextWrap属性改为TextingWrap,StartupUri指向"Page1.xaml"。只要WPFApplication(不是Browser)内展示P...

iOS 崩溃

一、什么情况下会产生崩溃日志? 两种主要情况会产生崩溃日志: 1.应用违反操作系统规则。 2.应用中有Bug。 违反iOS规则包括在启动、恢复、挂起、退出时watchdog超时、用户强制退出和低内存终止。 Watchdog 超时机制 从iOS 4.x开始,退出应用时,应用不会立即终止,而是退到后台。但是,如果你的应用响应不够快,操作系统有可能会终止你的应用...

关于软件评审的一些想法

软件评审    软件评审并不是在软件开发完毕后进行评审,而是在软件开发的各个阶段都要进行评审。因为在软件开发的各个阶段都可能产生错误,如果这些错误不及时发现并纠正,会不断地扩大,最后可能导致我们开发结果不可控。   软件评审是相当重要的工作,也是目前国内开发最不重视的工作。  (1)评审目标    。发现任何形式表现的软件功能、逻辑或实现方面的错误;...

Android Studio 使用小技巧和快捷键

Android Studio 使用小技巧和快捷键 Alt+回车 导入包,自己主动修正 Ctrl+N   查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L  格式化代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等) Ctrl+E或者Alt+Shift+C  近期更改...

支付宝手机网站支付开发指引

支付宝手机网站支付 支付宝手机网站支付是支付宝提供的多种支付方式之一。适用于在手机端网站配合业务流程完成支付宝支付。此接口不仅可以在手机网页中唤起“支付宝app”客户端。也可以继续使用手机浏览器版的收银台完成支付。 一、前期准备1.1签约“手机网站支付”功能。 使用手机网站支付之前需要签约改接口。签约需要到支付宝商家平台进行操作。页面右上角有个签约按钮。登...