【发布时间】:2012-09-24 10:10:45
【问题描述】:
我是一名经验丰富的 C++/Qt 开发人员,但也是一名 C#/WPF 开发新手,我想知道我是否缺少 Visual Studio 2010 WPF 设计器的一些东西。
在 Qt 中,所有小部件都有父级。我发现这个概念在以编程方式构建 GUI 和在设计器中都非常有用。根据我对 Qt 设计器的记忆(不幸的是,我的新公司不支持 Qt),您可以轻松地拖动小部件并正确地重新设置它们的父级。如果设计师不知何故感到困惑,那么您可以在属性框中将父级重置为您需要的任何内容。我发现 WPF 中的类似想法很难执行。
在 Visual Studio 设计器中,当我四处拖动小部件时,它们有时只会获得正确的父级。通常情况下,我必须转到 xaml 并将我正在编写的小部件剪切并粘贴到 xaml 的不同部分中,以便它获得正确的父级。我知道 xaml 的 DOM 树与小部件父树很好地平行,但我发现这在 Qt 中更加明确。
所以,我的问题是:这种在 WPF xaml 中重新设置父母的剪切和粘贴方法是您能做的最好的,还是我缺少一些不错的设计师提示和技巧?
注意:这个问题显然不适用于以编程方式构建 GUI。
【问题讨论】:
-
也许我一个人,但我真的从不使用设计器,我更喜欢直接在xaml中工作,看起来很奇怪,但它确实更有效率。
-
我可能最终不得不以这种方式工作。我的感觉是,当构建一个大而复杂的自定义小部件时,最终不得不亲自动手并在 xaml 中完成最终细节,我对此很满意。但我希望,至少在最初,您可以在设计器中布置所有子小部件以节省时间。我在第一遍就发现这是真的,但是当我想搬东西时,我遇到了这个重新养育孩子的问题。
-
如果你读过一些关于xaml的好书,你会发现它比普通的设计器更强大。然后,如果您需要一些花哨的皮肤,也许您会尝试 Expression Blend,但这是另一回事...
-
我认为你是对的,一段时间后 xaml 确实成为第二天性,我对剪切和粘贴方法感到满意。