我有 ListView
<ListView ItemsSource="{Binding Path=ListUsers}" DockPanel.Dock="Bottom" >
<ListView.View>
<GridView>
<GridViewColumn Header="Position" DisplayMemberBinding="{Binding Position}" />
<GridViewColumn Header="Counter" DisplayMemberBinding="{Binding Counter}" />
</GridView>
</ListView.View>
我制作了ListView.GroupStyle
:
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Expander IsExpanded="True">
<Expander.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="ReadTime" FontSize="14" Foreground="Silver" FontStyle="Italic" VerticalAlignment="Bottom" />
<TextBlock Text="{Binding ReadTime}" VerticalAlignment="Bottom" />
</StackPanel>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</ListView.GroupStyle>
在 ViewModel
中进入我的 ctor
我是这样做的:
CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(ListUsers);
PropertyGroupDescription groupDescription = new PropertyGroupDescription("ReadTime");
view.GroupDescriptions.Add(groupDescription);
现在如何为每个组显示文本“ReadTime”
,显示 ReadTime 的值
?
最佳答案
How to now instead of display text "ReadTime" for each group, display value from ReadTime?
没有 the 值,因为每个组都有一个标题,并且一个组可能包含多个值。如果要显示组中第一个的值,可以使用组的Items
集合:
<TextBlock Text="{Binding Items[0].ReadTime}" VerticalAlignment="Bottom" />
关于c# - 将值显示为组的 header (XAML、C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55414118/