2013-06-13 5 views
1

У меня есть gridview в xaml внутри списка. Моя привязка данных происходит в коде позади. Источник данных - это набор данных, который заполняется из sql. Набор данных имеет 6 столбцов. «Тип», «NUM» и 4 строки, которые содержат адрес. Я хочу отобразить адресные строки внутри одной ячейки в gridview, каждая строка под другой.XSML 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> 
Смежные вопросы