使用WrapGrid的Uwp Grouped GridView

我正在开发一个UWP应用程序,我试图在每个gridview组中对齐我的项目

我有这个 :

GROUP 1 Data 1 | Data 2 | Data 3 Data 1 | Data 2 | Data 3 Data 1 | Data 2 | Data 3 GROUP 2 Data 1 | Data 2 | Data 3 Data 1 | Data 2 | Data 3 

我想要这个:

 GROUP 1 ______________________________Data 1 | Data 2 | Data 3 ______________________________Data 1 | Data 2 | Data 3 ______________________________Data 1 | Data 2 | Data 3 GROUP 2 ______________________________Data 1 | Data 2 | Data 3 ______________________________Data 1 | Data 2 | Data 3 

我命令对齐我的项目我使用WrapGrid。 我也试过非分组gridview,我的代码工作正常。

                 

请你帮助我好吗 ?

提前致谢

您可以通过设置GroupStyle.Panel属性来获得所需内容。 此属性设置一个模板,用于创建用于布置项目的面板。 但是GridViewItem有两个模板 ,当GridViewItemsWrapGridItemsWrapGrid (默认)或ItemsStackPanelGridViewItem使用模板使用GridViewItemPresenter而不是UIElement树来提高网格性能。 在使用此模板时,设置GroupStyle.Panel属性不会影响GridView 。 我们需要GridViewItem通过将GridViewItemsPanel设置为其他Panel来使用其第二个模板。 当您的组垂直对齐时,我们可以将GridViewItemsPanel设置为:

      

然后我们可以使用左边GroupStyle.Panel设置GroupStyle.Panel来实现您的目标。 但请注意:

GroupStyle.Panel属性中的ItemsPanelTemplate声明的模板的根元素不能虚拟化面板 。 虚拟化面板定义为从VirtualizingPanel派生的任何类型,例如VirtualizingStackPanel类。

所以我们不能在这里使用WrapGrid ,我们可以使用StackPanel但项目将被排列成一行。 要将项目WrapPanel多行,我们需要一个像WPF中的WrapPanel这样的Panel 。 我们可以自定义它或使用WinRTXamlToolkit中的第三方WrapPanel 。 以WinRTXamlToolkit为例:

 xmlns:toolkit="using:WinRTXamlToolkit.Controls"      

完整的XAML代码可能像:

                      

以下是我在我身边测试时的输出: 在此处输入图像描述