wpf和winform的区别 2者区别详细介绍

简介WPF的缩写是指微软的Windows Presentation Foundation,而WinForms是Windows窗体应用程序的简单组合。两者都是微软的Windows应用图形用户界面,开发者可以用它们来开发Windows桌面应用。本文重点介绍了开发Windows桌面应用程序的两种方法的主要区别,可以在现代系统开发中...

简介

WPF的缩写是指微软的Windows Presentation Foundation,而WinForms是Windows窗体应用程序的简单组合。两者都是微软的Windows应用图形用户界面,开发者可以用它们来开发Windows桌面应用。本文重点介绍了开发Windows桌面应用程序的两种方法的主要区别,可以在现代系统开发中起到更好的作用。

Windows窗体

WinForms是作为。Net框架在2002年2月。在很大程度上,WinForms允许开发人员在Windows窗体上拖放控件,并允许开发人员使用代码隐藏文件,这些文件可以具有C #、VB.NET或任何其他代码。NET语言来操作这些控件。每个WinForms控件都是一个类的实例,因为WinForms是作为一组C++类的包装存在的。微软的Visual Studio使WinForms的开发变得更加容易,因为开发人员可以轻松地从工具箱中拖放控件。

WinForms工具箱中的控件

在WinForms桌面应用程序中,开发人员只能访问他们可以操作控件事件的代码隐藏文件。WinForms桌面应用程序在控件功能和应用程序行为方面有其局限性,这将在下一部分揭示。

WPF桌面应用程序

与WinForms不同,WPF的架构由三个主要组件组成:表示层框架、表示层核心和商城核心。WPF并不完全依赖于标准的Windows控件,所以它是一种独立的方式。2007年,微软引入了Windows演示基金会(WPF)来开发。Net框架桌面应用程序。这种交替给桌面应用程序开发带来了许多变化。首先,WPF把设计师和程序员分开了。可以分别使用Visual Studio或Blend来设计UI,而开发人员可以使用代码隐藏文件来操作控件事件。

WPF使用XAML创建控件,其文件结构更像ASP.NET的文件结构。您可以自由使用设计器或编写XAML代码来创建控件。使用画布面板的设计人员仍然可以像在WinForms中一样在Windows页面上拖放控件。WPF带来的主要区别是XAML文件和访问XAML文件中包含的可视设计器。

WPF视觉设计和XAML文件编辑

该图显示了WPF应用程序的布局,其中XAML文件显示在Designer旁边。

WPF项目的文件结构如下:

WPF项目的文件结构

每个窗口或页面都有一个用于添加控件的.xaml文件以及一个.cs,.vb等文件,后者是代码隐藏文件,更像是ASP.NET方式。与WinForms不同,WPF生成一个初始MainWindow来启动应用程序,并且要更改启动窗口,可以在App.xaml文件中执行此操作。

WPF主窗体启动配置

该文件充当应用程序的条目。

WPF和WinForms之间的其他重要区别是控件。要添加一个控件,你只需要写简单的XAML代码。例如,要在WPF窗口中添加文本框,可以编写以下代码:

<Window x:Class="WpfApp1.MainWindow" xmlns="http://sche***s.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://sche***s.microsoft.com/winfx/2006/xaml" xmlns:d="http://sche***s.microsoft.com/expression/blend/2008" xmlns:mc="http://sche***s.openxmlfor***ts.org/***rkup-compatibility/2006" xmlns:local="clr-namespace:WpfApp1" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"><StackPanel><TextBox></TextBox></StackPanel></Window>

请注意语法中的标签,它建议使用名称“扩展应用程序标记语言(XAML)”。XAML代码被放置在窗口标签中。根据控件的不同,标签可能具有描述宽度、高度等的属性。的控制权。

WPF还带来了与WinForms的另一个显著区别,那就是添加带有图片的按钮的功能。在WinForms中,给按钮添加图像意味着你必须自己绘制图像或者包含一些第三方控件,但是WPF按钮控件很简单,你可以给它们添加任何东西。

<Window x:Class="WpfApp1.MainWindow" xmlns="http://sche***s.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://sche***s.microsoft.com/winfx/2006/xaml" xmlns:d="http://sche***s.microsoft.com/expression/blend/2008" xmlns:mc="http://sche***s.openxmlfor***ts.org/***rkup-compatibility/2006" xmlns:local="clr-namespace:WpfApp1" mc:Ignorable="d" Title="MainWindow" Height="500" Width="800"><Button Padding="5"><StackPanel Orientation="Horizontal"><I***ge Source="/I***ge.jpg" Height="25" Width="50" /><TextBlock Margin="5,0">I'm a Button</TextBlock></StackPanel></Button></Window>

输出如下所示:

WPF跑步演示

WPF还提供完全支持的数据绑定功能,如以下示例所示:

<Window x:Class="WpfApp1.MainWindow" xmlns="http://sche***s.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://sche***s.microsoft.com/winfx/2006/xaml" xmlns:d="http://sche***s.microsoft.com/expression/blend/2008" xmlns:mc="http://sche***s.openxmlfor***ts.org/***rkup-compatibility/2006" xmlns:local="clr-namespace:WpfApp1" mc:Ignorable="d" Title="MainWindow" Height="500" Width="800"><StackPanel Margin="10"><WrapPanel Margin="0,10"><Label Content="Your Text Here:" FontWeight="Bold"/><TextBox Name="txtBind" Height="20" Width="250" RenderTransformOrigin="-2.75,0.587" Margin="59,0,336,0"/></WrapPanel><WrapPanel Margin="0,10"><TextBlock Text="Bound-Text: " FontWeight="Bold" /><TextBlock Text="{Binding Path=Text, ElementName=txtBind}" /></WrapPanel></StackPanel></Window>

输出

WPF数据绑定演示

上面示例中的{Binding}属性用于设置

结论

本文通过WinForms和WPF在体系结构、语法、文件结构和应用程序行为方面的差异,展示了两者之间的主要差异。NET创建桌面应用程序的方法。尽管WinForms设计看起来友好而直接,但XAML带来了一些开发人员在现代桌面应用程序中可能需要的有用功能。

本文来自霜华投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/547163.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 05-14
下一篇 05-14

相关推荐

  • wpf和winform的区别 2者区别详细介绍

    简介WPF的缩写是指微软的Windows Presentation Foundation,而WinForms是Windows窗体应用程序的简单组合。两者都是微软的Windows应用图形用户界面,开发者可以用它们来开发Windows桌面应用。本文重点介绍了开发Windows桌面应用程序的两种方法的主要区别,可以在现代系统开发中

    2023-05-14 18:32:01
    319 0
  • winform进度条的使用 详解winform步骤控件

    DevExpress WinForms拥有180+组件和UI库,可以为Windows Forms平台创建有影响力的业务解决方案。DevExpress WinForms可以完美构建流畅、美观、易用的应用程序。无论是办公风格的界面,还是大量业务数据的分析处理,都能轻松胜任!在Winform中,很多控件元素都是标准的,比如图

    2023-05-07 19:44:01
    407 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信