我需要实现我的草图上显示的布局。
我应该使用网格吗?或者DataGrid会更合适吗?我担心Grid会给我分解我想要的方式的问题,但是我想知道DataGrid是否会因为这种情况而“沉重”?
此外,一切都将采用重点风格,因此这样做很容易。
修改
忘了提几件事:
答案 0 :(得分:1)
恕我直言,考虑到列数是固定的,Grid
是这里的方法。你需要有一些逻辑来设置第一行的MaxHeight
,这样用户将无法在网格底部拖动水平分割器(是的,我知道,它应该是默认行为...... :()。
每列的MaxWidth
也是如此。只有它更复杂,因为你必须考虑所有列的实际宽度。此外,当拖动其中一个垂直分割器时,您需要更新所有列的宽度,因此网格的总宽度保持不变。
DataGrid
将是矫枉过正的,你将不会获得任何有价值的东西 - 首先看一下垂直分离器将被照顾 - 但是你必须考虑滚动条,禁用它们会弄乱能够重新调整列的大小。此外,水平分割器仅在行标题中可用,而不是在控件的所有宽度上可用。此外,计算第一行的高度必须手动完成,然后以某种方式强制数据网格。
现在我考虑一下,我可能会使用自定义面板(MyPanel)和继承Thumb
的自定义拆分器(MySplitter)。
对于列表,我可能会使用HeaderedContentControl
和自定义控件模板。
答案 1 :(得分:0)
您可以使用任何您想要的控件。实际上,你可以将DataGrid与特殊类一起用于你的情况,它被称为GridSplitter(如本例所示:CodeBetter)。您可以使用DataTemplates自定义单元格甚至行,以存档效果最佳