我正在寻求在WPF中使用Canvas和Grid面板的意见。我需要制作经典的输入表单,这些表单基本上具有网格布局,有些可能在内部有小的数据网格、组合框,但全部都是对齐的网格布局。我正在纠结于是否在所有窗体中都使用Grid或Canvas面板。Grid给我很好的结构;我可以更容易地维护控件的对齐。我将为所有窗口创建基类(它继承了Window类),因此在Visual Studio中的设计器将无用,因为它存在这种继承问题,而对于Grid面板,我甚至不需要设计器,并且我可以设置窗口的SizeToContent属性,以便所有东西都适合得很好。但是,通过Canvas,我可以根据自己的喜好放置控件,这是使用Canvas的唯一好处。
我没有太多关于WPF的经验来预测客户请求布局方面会遇到什么问题。在Web表单中,我有时会为表单使用绝对定位,以防客户有一些“特殊”请求,例如像素向左或向右等等。所有与苛刻的客户一起工作的人都知道我的意思。
我希望看看您的想法,构建业务应用程序表单布局的优缺点是什么?为什么一个比另一个更好?是否有任何情况其中一个面板使用不当,而另一个不会?一个面板对另一个面板的劣势是什么?您会使用哪种面板?
谢谢