2012-08-24 109 views
5

我有一個正常的GridView,顯示分組數據。我的目標是將標題(一個按鈕)從組頂部移到組左側。更改GridView標題位置

<GridView> 
    <GridView.ItemsPanel> 
     <ItemsPanelTemplate> 
      <VirtualizingStackPanel Orientation="Horizontal"/> 
     </ItemsPanelTemplate> 
    </GridView.ItemsPanel> 

    <GridView.GroupStyle> 
     <GroupStyle> 
      <GroupStyle.HeaderTemplate> 
       <DataTemplate> 
        <Grid> 
         <Button Content="{Binding Title}"/> 
        </Grid> 
       </DataTemplate> 
      </GroupStyle.HeaderTemplate> 
      <GroupStyle.Panel> 
       <ItemsPanelTemplate> 
        <VariableSizedWrapGrid ItemWidth="240" ItemHeight="160" Orientation="Vertical" Margin="0,0,80,0"/> 
       </ItemsPanelTemplate> 
      </GroupStyle.Panel> 
     </GroupStyle> 
    </GridView.GroupStyle> 

    <GridView.ItemTemplate> 
     <!-- item template --> 
    </GridView.ItemTemplate> 
</GridView> 

回答這個問題Grouping GridView in Windows 8 Metro App - 雖然不完全一樣所需的佈局 - 說,所需的佈局也不是沒有可能增加一個額外的「虛擬拼接」。

我想知道是否有可能實現我的目標 - 將標題從組頂部移到組左側 - 沒有這樣的額外「虛擬瓦片」。

回答

2

您需要編輯標題容器樣式。在Visual Studio中,右鍵單擊GridView和選擇

Edit Group Style -> Edit Generated Item Container (Container Style) -> Edit a Copy 

你會看到組頭,這是一個內容控制和集團項目,這是一個ItemsControl。兩者都包含在一個網格內,默認情況下,它是簡單的兩行。您可以添加一列,將組標題移動到Grid.Column=0 & Grid.Row=1,您應該很好走。