我正在创建一个程序,它将显示由某个资源制作的应用程序。我计划在数据网格中显示所有应用程序,并根据分配应用程序的月份和年份进行分组。我收集并尝试了可能的代码,但我只是设法显示了分组标题,但内容没有显示出来。
这是我的代码:
<Window.Resources>
<Style x:Key="GroupHeaderStyle" TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander x:Name="EXPAND" IsExpanded="False"
Background="White"
Foreground="Black">
<Expander.Header>
<TextBlock Text="{Binding Name}"/>
</Expander.Header>
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=AppID}" Header="App ID" Width="Auto" />
<DataGridTextColumn Binding="{Binding Path=ApplicationName}" Header="App Name" Width="0.30*" />
<DataGridTextColumn Binding="{Binding Path=Status}" Header="Status" Width="0.10*" />
<DataGridTextColumn Binding="{Binding Path=Category}" Header="Category" Width="Auto" />
<DataGridTextColumn Binding="{Binding Path=PackageType}" Header="Package Type" Width="0.10*" />
</DataGrid.Columns>
<DataGrid.GroupStyle>
<GroupStyle ContainerStyle="{StaticResource GroupHeaderStyle}">
<GroupStyle.Panel>
<ItemsPanelTemplate>
<DataGridRowsPresenter/>
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</DataGrid.GroupStyle>
</DataGrid>
代码背后:
private void LoadTracker()
{
myMSIPID.procGetMSITrackByPID(dsApp.procGetMSITrackByPID,PID);
ICollectionView cView = CollectionViewSource.GetDefaultView(dsApp.procGetMSITrackByPID);
cView.GroupDescriptions.Add(new PropertyGroupDescription("MonthYear"));
dgAppTracker.DataContext = dsApp.procGetMSITrackByPID;
dgAppTracker.ItemsSource = cView;
}
谁能告诉我为什么我的程序中没有任何行?谢谢你。