正在用WPF写用来构建一个小型的桌面应用, 针对其中的一段布局代码做过简单记录,以便后期与CSS布局进行比较。
可能有些同学对wpf比较陌生,先说一下啥是wpf,WPF是Windows Presentation Foundation的缩写,它是微软推出的基于Windows的用户界面框架,属于.NET Framework 3.0的一部分。它主要用于构建具有丰富交互性的桌面应用程序。WPF具有丰富的图形和动画效果,能够为用户界面、2D/3D 图形、文档和媒体提供统一的描述和操作方法。它基于DirectX 9/10技术,不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面。
WPF优势:
- 学习成本低:WPF是一种基于.NET框架的技术,如果你已经熟悉C#语言和.NET开发,学习WPF会相对容易。它提供了丰富的文档、教程和示例,帮助你快速入门。
- 开发效率高:WPF采用XAML(可扩展应用程序标记语言)作为界面设计语言,将界面和逻辑分离,使得设计师和开发者可以并行工作。XAML具有声明性的语法,可以快速创建复杂的用户界面,提高开发效率。
- 快速部署:WPF应用程序可以轻松部署到Windows操作系统上,不需要额外的运行时依赖。一旦安装了.NET Framework,用户可以直接运行WPF应用程序,无需安装其他组件。
- 兼容性优势:WPF提供了强大的图形渲染能力,支持硬件加速和高性能图形处理。它可以利用现代图形卡的优势,提供流畅的动画效果和复杂的图形呈现,使应用程序具有更好的用户体验。
- 跨平台支持:尽管WPF最初是为Windows开发的,但现在也有一些解决方案可以让WPF应用程序在其他平台上运行。例如,通过使用Mono框架,你可以将WPF应用程序移植到Linux和macOS等操作系统上。
技术点解释: 与auto的区别 当Width属性设置为Auto时,列的宽度将自动调整以适应其内容的大小。 当Width属性设置为时,列的宽度将根据可用空间的比例进行分配。 Auto和的区别在于,使用Auto时,列的宽度仅取决于其内容的大小;而使用时,列的宽度将根据可用空间的剩余部分进行分配。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Content="Name:" />
<TextBox Text="John Doe" VerticalAlignment="Center" Grid.Column="1" />
<Label Content="Address:" Grid.Row="1" />
<TextBox Text="34 Some Street, 123 45 SomeTown, Some Country"
VerticalAlignment="Center" Height="70" Grid.Row="1" Grid.Column="1"/>
<Label Content="Position:" Grid.Row="2" />
<TextBox Text="Manager" Grid.Row="2" Grid.Column="1"/>
</Grid>
运行结果