2013-06-13 62 views
1

我在列表視圖中有一個xaml gridview。 我的數據綁定發生在代碼後面。 數據源是從sql填充的數據集。 數據集有6列。 'Type','NUM'和包含地址的4行。 我想在gridview中的單個單元格中顯示地址線,每行都在另一個下面。帶分組單元格的XAML gridview listview

XAML

<Grid x:Name="grid1"> 
<StackPanel> 

     <ListView Name="listview1" Margin="10,10,10,10" IsTextSearchEnabled="True" TextSearch.TextPath="Addendum_Type" Height="400" BorderBrush="#FFA8CC7B"> 

     <ListView.View> 

      <GridView ColumnHeaderToolTip="Addendum Master"> 

        <GridViewColumn DisplayMemberBinding="{Binding Path=Addendum_Type}" Header="TYPE" Width="150"/> 

        <GridViewColumn DisplayMemberBinding="{Binding Path=Addendum_Number}" Header="NUM" Width="150"/> 

        <GridViewColumn DisplayMemberBinding="{Binding Path=Line1}" Header="1" Width="150"/> 

        <GridViewColumn DisplayMemberBinding="{Binding Path=Line2}" Header="2" Width="150"/> 

        <GridViewColumn DisplayMemberBinding="{Binding Path=Line3}" Header="3" Width="150"/> 

        <GridViewColumn DisplayMemberBinding="{Binding Path=Line4}" Header="4" Width="150"/> 


      </GridView> 

     </ListView.View> 

    </ListView> 

</StackPanel> 
</Grid> 

我怎麼能這四個行合併爲一個單元格? This is what I want the Gridview to display

所以這裏是我試過

 <ListView Name="listview1" Margin="10,10,10,10" IsTextSearchEnabled="True" TextSearch.TextPath="Addendum_Type" Height="400" BorderBrush="#FFA8CC7B"> 

     <ListView.View> 

      <GridView ColumnHeaderToolTip="Addendum Master"> 

        <GridViewColumn DisplayMemberBinding="{Binding Path=Addendum_Type}" Header="TYPE" Width="150"/> 

        <GridViewColumn DisplayMemberBinding="{Binding Path=Addendum_Number}" Header="NUM" Width="150"/> 

        <GridViewColumn Width="150"> 
         <StackPanel> 
          <TextBlock Text="{Binding Path=Line1}" Grid.Column="1" TextWrapping="Wrap"/> 
          <TextBlock Text="{Binding Path=Line2}" Grid.Column="1" TextWrapping="Wrap"/> 
          <TextBlock Text="{Binding Path=Line3}" Grid.Column="1" TextWrapping="Wrap"/> 
          <TextBlock Text="{Binding Path=Line4}" Grid.Column="1" TextWrapping="Wrap"/> 
         </StackPanel> 
        </GridViewColumn> 

      </GridView> 

     </ListView.View> 

    </ListView> 

</StackPanel> 
</Grid> 

但這只是讀取gridview的樣子

enter image description here

回答

0

我這樣做是正確的事情了。

<ListView Name="listview1" Margin="10,10,10,10" IsTextSearchEnabled="True" TextSearch.TextPath="Addendum_Type" Height="400" BorderBrush="#FFA8CC7B"> 

     <ListView.View> 

      <GridView ColumnHeaderToolTip="Addendum Master"> 

        <GridViewColumn DisplayMemberBinding="{Binding Path=Addendum_Type}" Header="TYPE" Width="150"/> 

        <GridViewColumn DisplayMemberBinding="{Binding Path=Addendum_Number}" Header="NUM" Width="150"/> 

        <GridViewColumn Width="500"> 
         <GridViewColumn.CellTemplate> 
          <DataTemplate> 
           <StackPanel Orientation="Vertical"> 
            <Label Content="{Binding Path=Line1}"></Label> 
            <Label Content="{Binding Path=Line2}"></Label> 
            <Label Content="{Binding Path=Line3}"></Label> 
            <Label Content="{Binding Path=Line4}"></Label> 
           </StackPanel> 
          </DataTemplate> 
         </GridViewColumn.CellTemplate> 

        </GridViewColumn> 

      </GridView> 

     </ListView.View>