布局/面板有什么意义?

时间:2014-06-24 16:19:14

标签: c# wpf

我刚刚开始学习WPF,并且在窗口中添加控件我只是将它们从工具箱移到窗口上。然后我可以继续移动它们把它们放在我想要的地方。现在我已经进入了布局/面板,堆栈面板,画布,停靠面板等,如果您可以自己在屏幕上拖动和移动对象/控件,我很难理解为什么它们很有用。

例如停靠面板,使用停靠属性,您可以将对象放在左侧,右侧,底部,顶部,最后一个填充。您可以使用属性DockPanel.Dock =“Left”将文本框停靠在左侧,但为什么我不能自己将其移动到那里?

2 个答案:

答案 0 :(得分:1)

首先,不要浪费时间将控件拖放到WPF应用程序中。通过以这种方式放置控件,您将严重限制WPF中的设计潜力。最严重的WPF设计人员甚至不打扰拖动控件,他们手动输入所有XAML。可以说,这就是WPF的设计方式。利用XAML,您的布局可以以WinForms梦寐以求的方式完全动态,但您必须手动编写XAML代码。

你知道这是怎么回事吗?在设计WPF应用程序时不要拖放控件!我去过的每次会议都强调了这个事实!网格面板是WPF布局的重要组成部分,对于让控件最终达到预期目标至关重要。

学习WPF最困难的部分是弄清楚它不是具有漂亮图形的WinForms。这是一个完全不同的野兽,具有陡峭的学习曲线!手工编码XAML起初非常繁琐,但是一旦你了解了所有控件和重要属性的名称,你就会比旧的拖放方法更快地创建UI。

答案 1 :(得分:0)

您可以手动移动控件,但是当您添加新控件或调整窗口大小时,不同的布局面板可以自动处理控件定位。

请查看描述不同类型容器的description on MSDNon CodeProject