WPF对数据绑定的DataGrid 分组显示设置后,为什么分组下不能显示分组数据

半途人 2016-01-18 12:19:15
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication1"
mc:Ignorable="d"
Title="Window1" Height="300" Width="300" Loaded="Window_Loaded">


<Window.Resources>
<local:People x:Key="data" ></local:People>

<CollectionViewSource x:Key="peopleViewSource" d:DesignSource="{d:DesignInstance {x:Type local:People}}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="City" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
</Window.Resources>
<Grid DataContext="{StaticResource peopleViewSource}">
<DataGrid x:Name="peopleDataGrid" AutoGenerateColumns="True" EnableRowVirtualization="True" ItemsSource="{Binding}" RowDetailsVisibilityMode="Visible">
<DataGrid.Columns>
<DataGridTextColumn x:Name="cityColumn" Binding="{Binding City}" Header="City" Width="SizeToHeader"/>
<DataGridTextColumn x:Name="cNameColumn" Binding="{Binding cName}" Header="c Name" Width="SizeToHeader"/>
<DataGridTextColumn x:Name="fatherColumn" Binding="{Binding Father}" Header="Father" Width="SizeToHeader"/>
<DataGridTextColumn x:Name="idColumn" Binding="{Binding Id}" Header="Id" Width="SizeToHeader"/>
<DataGridTextColumn x:Name="phoneColumn" Binding="{Binding Phone}" Header="Phone" Width="SizeToHeader"/>
</DataGrid.Columns>

<DataGrid.GroupStyle >
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<!--<Setter Property="Margin" Value="0,0,0,0"/>-->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander IsExpanded="True" >
<Expander.Header>
<StackPanel>
<TextBlock FontWeight="Bold" Text="{Binding Path=Name}"/>
<TextBlock FontWeight="Bold" Text="{Binding Path=ItemCount,StringFormat=(共{0}条)}"/>
</StackPanel>
</Expander.Header>
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
<GroupStyle>

<GroupStyle.HeaderTemplate>

<DataTemplate>

<DockPanel Background="LightBlue">
<TextBlock Text="{Binding Path=Name }" Foreground="Blue" Margin="30,0,0,0" Width="100"/>
<TextBlock Text="{Binding Path=ItemCount}" Foreground="Blue"/>


</DockPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>

</DataGrid.GroupStyle>
</DataGrid>
</Grid>
</Window>






...全文
242 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧