1

我正在编写一个 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 可以轻松控制的。

您认为管理此类布局的最佳方法是什么?

提前致谢

4

1 回答 1

0

网格定义很难控制,但我发现更改网格内控件上的 Grid.RowSpan 或 Grid.RowColumn 跨度应该能够在快照视图中执行您需要的操作

于 2013-01-20T23:20:59.173 回答