2016-12-13 2 views
0

Ich habe eine ListBox, die an eine ListCollectionView namens "Schedules" bindet.Gruppieren von ListBox mit Datum in derselben Zeile wie Daten

<ListBox Grid.Row="2" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ItemsSource="{Binding Schedules}"> 
    <ListBox.GroupStyle> 
     <GroupStyle> 
      <GroupStyle.HeaderTemplate> 
       <DataTemplate> 
        <TextBlock Text="{Binding Name}" /> 
       </DataTemplate> 
      </GroupStyle.HeaderTemplate> 
     </GroupStyle> 
    </ListBox.GroupStyle> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel Background="Transparent"> 
       <Grid Background="Transparent"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="100"/> 
         <ColumnDefinition Width="100"/> 
         <ColumnDefinition/> 
        </Grid.ColumnDefinitions> 
        <Grid.RowDefinitions> 
         <RowDefinition/> 
        </Grid.RowDefinitions> 
        <!--I want my DateTime Grouping Here basically--> 
        <!--<TextBlock Grid.Column="0" Grid.Row="0" Text="{Binding MyDateTime}" HorizontalAlignment="Left" VerticalAlignment="Center"/>--> 
        <TextBlock Grid.Column="1" Grid.Row="0" Text="{Binding MyDateTime, StringFormat='t'}" HorizontalAlignment="Left" VerticalAlignment="Center"/> 
        <TextBlock Grid.Column="2" Grid.Row="0" Text="{Binding SomeText}" TextTrimming="WordEllipsis" LineStackingStrategy="MaxHeight" MaxHeight="20" HorizontalAlignment="Left" VerticalAlignment="Center"/> 
       </Grid> 
      </StackPanel> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

Und in meinem Viewmodel I-Gruppe nur nach Datum (Ich benutze einen Valueconverter, die mir wieder nur ein Datum gibt:

Schedules.GroupDescriptions.Add(new PropertyGroupDescription("MyDateTime", new DateTimeToDateOnlyConverter())); 

Ist es möglich, hat die Gruppierung aber auf derselben Anzeige ? Linie wie die anderen Daten Jetzt haben Sie einen Fall, in dem Sie erhalten:

MyDateTime
----------------- Zeit | EINTEXT
----- ------------ Zeit | Sometext
----------------- Zeit | Sametext
MyDateTime2
----------------- Zeit | EINTEXT

Ich möchte es so angezeigt werden:

MyDateTime | Zeit | EINTEXT
                                          | Zeit | EINTEXT
                                          | Zeit | Sametext
MyDateTime | Zeit | EINTEXT
                                          | Zeit | EINTEXT
                                          | Zeit | EINTEXT

Antwort

0

hinzufügen grid.rowspan zu XAML-Reihen zu fusionieren

<TextBlock Grid.Column="0" Grid.Row="0" Grid.RowSpan="2" Text="{Binding MyDateTime}" HorizontalAlignment="Left" VerticalAlignment="Center"/>

Verwandte Themen