【发布时间】:2016-12-09 14:39:46
【问题描述】:
我不知道如何实现这一点,但我在 ListBox 中有一个日期和时间列。如果日期已经存在,则不应显示日期列。我知道结合 ListCollectionView 和 Listview/DataGrids,它是可能的。但是我可以用 ListBox 和 List 来实现吗?请记住,我使用的是 MVVM 原理。这是我的列表框:
<ListBox Grid.Row="2" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ItemsSource="{Binding Schedules}">
<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>
<TextBlock Grid.Column="0" Grid.Row="0" Text="{Binding MyDateTime, StringFormat='d' }" 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>
我想要我用黄色突出显示的效果
【问题讨论】:
-
您是否也可以接受其他布局?然后您可以使用分组功能:wpf-tutorial.com/listview-control/listview-grouping