C# 如何更直观地设计WPF,a-la WinForms?

C# 如何更直观地设计WPF,a-la WinForms?,c#,wpf,C#,Wpf,我一直觉得在WPF中设计表单布局就像设计网站布局一样。有没有一个工具可以让我直观地设置东西?我主要来自WinForms环境,花2个小时设计一个表单,却没有按照您的要求准确地设计出来,这很烦人。调整数字等是非常烦人的 有没有一种方法可以让我更直观地设计东西,a-la WinForms?您可以使用Expression Blend来设计WPF表单/模板。 它比VS设计师更好,但是。。。这需要钱 **编辑:我听说resharper有一个很好的XAML支持功能,虽然我自己没有尝试过,但它可能有助于更快地完

我一直觉得在WPF中设计表单布局就像设计网站布局一样。有没有一个工具可以让我直观地设置东西?我主要来自WinForms环境,花2个小时设计一个表单,却没有按照您的要求准确地设计出来,这很烦人。调整数字等是非常烦人的


有没有一种方法可以让我更直观地设计东西,a-la WinForms?

您可以使用Expression Blend来设计WPF表单/模板。 它比VS设计师更好,但是。。。这需要钱

**编辑:我听说resharper有一个很好的XAML支持功能,虽然我自己没有尝试过,但它可能有助于更快地完成工作人员的工作(更好的智能)

如果您真的想用WinForms中的方式使用WPF设计表单,只需使用
画布
作为主容器,并使用绝对坐标放置控件。 我不知道C#Express 2008是否有可视化编辑器,所以你不必调整任何数字

但是通过使用
画布
,您失去了一个重要特性,即可调整大小的表单。如果绝对定位控件,则无法根据窗口大小调整内容

这就是WPF与网站设计的共同之处,但更具灵活性。你必须学习所有可用的工具以及何时使用它们。我最喜欢的是
DockPanel
,通常用作最上面的面板。然后嵌套不同的面板以构建表单

通常需要设置的维度很少。我主要为列设置
MinWidth
,为行设置
MinHeight
。每个控件都在样式中设置了其边距,因此所有控件都可以平滑地进行布局


如果您对布局有具体问题,我很乐意为您提供帮助。

使用Dani提到的Expression Blend。您可以同时在VS和EB中打开相同的解决方案,因为它们可以很好地共享文件。
设计这种方法是为了帮助独立的设计师和程序员工作,但要保持代码的通用性。

关键是Wpf最好的内在特性不容易通过任何可视化方式管理。如果您喜欢所见即所得的方式,那么您可以使用WinForms。
Wpf中真正不同的方法是功能性方法,即模板和那些功能很难用可视化编辑器管理。

我一直使用Visual Studio Express+Xaml,没有任何东西可以阻止您。

您使用的是Visual Studio designer吗?我使用的是Microsoft Visual C#Express 2008。在设计表单时,我主要使用XAML中的直接代码:(VisualStudio Express附带一个可视WPF设计器(代号为苹果酒)。你知道吗?或者你觉得它不够直观?请解释我可以免费获得它,因为我与大学的合作关系。因此,该程序让我可以更直观地设计表单,而不是敲打XAML代码?此外,没有源代码管理integrationBlend设计为与visual Studio并行运行,因此可以使用visual Studio在Blend中工作时io的源代码管理集成。由于没有SVN集成,我们也存在此问题,因此我们目前手动执行此操作。希望MS或其他人添加此功能。您必须安装补丁才能使源代码管理集成正常工作,但如果您打开一个受源代码管理的项目,它会提示您。我不同意。我会说Expression Blend在帮助您使用“最佳固有功能”方面做得很好以WYSIWYG的方式使用WPF功能,包括模板和数据绑定。有些事情不能直观地完成,但大多数可以而且应该完成。Mart:你的回答听起来像是在认真建议开发人员在WPF应用程序中使用画布进行表单布局。当然你开玩笑了!:-)我想你是想说,用老办法做这件事是可能的,但还有更好的办法。如果是这样的话,我建议你在你的答案文本中澄清这一点(也许“如果你真的想…,有可能…)。你是对的,使用画布不是正确的方式。但由于帕布奇诺正处于学习曲线的开始阶段,这可能是他不放弃使用WPF的一个过渡解决方案。我同意。或者他可以使用比画布更好的布局,因为你可以先把一个大单元格当作画布,然后再开始使用真实的布局,而不会破坏任何东西。我想说的是,到目前为止,我非常乐意以正确的方式设计。我简直不敢相信我竟然问了这个问题学习疗法绝对值得。坚持下去,你会度过难关的。