【问题标题】:Controlling XAML grid structire using VisualStateManager使用 VisualStateManager 控制 XAML 网格结构
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 2012-08-20
    • 2015-10-05
    • 2023-04-05
    • 2014-01-04
    相关资源
    最近更新 更多