C# 绑定listview组头
因此,我试图非常简单地在Windows10列表视图中显示项目,然后按组将它们分开。一切都很顺利,只是我似乎无法确定小组的名称 以下是我当前的xaml:C# 绑定listview组头,c#,xaml,listview,data-binding,windows-10,C#,Xaml,Listview,Data Binding,Windows 10,因此,我试图非常简单地在Windows10列表视图中显示项目,然后按组将它们分开。一切都很顺利,只是我似乎无法确定小组的名称 以下是我当前的xaml: <ListView ItemsSource="{Binding Source={StaticResource cvsEpisodes}}"/> <ListView.ItemTemplate> <DataTemplate> <Grid> <TextBloc
<ListView ItemsSource="{Binding Source={StaticResource cvsEpisodes}}"/>
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding EpisodeNB}"/>
<TextBlock Text="{Binding EpisodeTT}"/>
<TextBlock Text="{Binding EpisodeDESC}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding SEASONNB}"/>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
</ListView>
<Page.Ressources>
<CollectionViewSource x:Name="cvsEpisodes" IsSourceGrouped="True"/>
</Page.Ressources>
以及由OnNavigatedTo事件执行的C:
List < EPISODELST > Episodes = new List < EPISODELST > ();
var episodes = root.episodes.Select(m = >new EPISODELST {EpisodeTT = m.title, EpisodeNB = m.episode.ToString(), EpisodeDESC = m.overview, SEASONNB = m.season.ToString()}).ToList();
foreach(EPISODELST s in episodes)
{
Episodes.Add(new EPISODELST {EpisodeTT = s.EpisodeTT, EpisodeDESC = s.EpisodeDESC, EpisodeNB = "EPISODE " + s.EpisodeNB, SEASONNB = s.SEASONNB });
}
var result = from EPISODELST in Episodes group EPISODELST by EPISODELST.SEASONNB into grp orderby grp.Key select grp;
cvsEpisodes.Source = result;
EPISODELST和SECTIONS是两个类,但是没有必要将它们粘贴到这里
我在网上看到了其他各种分组ListView的实现,但它们都比这复杂得多,我猜这应该会起作用,因为我可以断定代码可以成功地正确排序所有数据。
这个问题可能只是与TextBlock的绑定有关,但我尝试了我在网上找到的各种其他方法,如{binding=Name}或{binding Key.Name},但似乎没有任何效果。因此,最后,这非常简单。我发现奥恩瑟号埋得很深。 它必须绑定到{Binding Key} 内部组样式:
<TextBlock Text="{Binding Key}"/>
这是我在windows 10通用应用程序中可以使用的唯一解决方案,大部分问题都在这个问题上