【发布时间】:2012-11-07 07:52:34
【问题描述】:
我正在编写一个 WinRT 应用程序,需要在快照视图中更改其布局。在常规视图中,详细信息显示在以下结构的网格中:
MainGrid:包含 2 行 2 列(我们称它们为 M11、M12、M21、M22)
DetailGrid:占据MainGrid的最右列和上排,包含1行,2列相等,所以布局是这样的: M12 包含水平分层的 D1 和 D2
在快照视图中,我希望重新定义 DetailGrid,使其具有单列和 2 行: M12包含垂直分层的D1和D2
如果我不关心列宽,我可以使用 StackPanel 而不是 Grid 来显示详细信息,并在捕捉模式下将 StackPanel 方向从水平更改为垂直。但是 D1 和 D2 必须在标准模式下使用所有可用空间并且大小相同,因此我通过 Grid ColumnDefinition 控制它们。但是网格定义不是使用 VisualStateManager 可以轻松控制的。
您认为管理此类布局的最佳方式是什么?
提前致谢
【问题讨论】:
-
从描述中它有点难以形象化,也许 mspaint 对您所追求的内容的快速图像解释可能更具描述性?
标签: xaml winrt-xaml grid-layout