【发布时间】:2010-05-10 18:57:07
【问题描述】:
所以我试图绑定到 ListView 项目中的列表,但我似乎无法正确绑定。如果有人可以帮助我更正绑定,那就太好了!
这里是您可能需要的来源:
//class that xaml is initially bound to
public partial class UploadMngPanel : Grid
{
....
//initial list to bind to
public ObservableCollection<FinishedAnimeCollection> UploadedAnime
{
get { return uploadedAnime; }
}
}
public class FinishedAnimeCollection
{
...
//second list to bind to
private ObservableCollection<AnimeEpisodeItem> _episodes = new ObservableCollection<AnimeEpisodeItem>();
public ObservableCollection<AnimeEpisodeItem> Episodes
{
get { return _episodes; }
}
}
public class AnimeEpisodeItem
{
public String Title { get; set; }
public DateTime TimeAdded { get; set; }
}
我要修复的 XAML 如下
<!-- First list binding here (this works)-->
<ListView Name="finishedView" ItemsSource="{Binding UploadedAnime}">
<ListView.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="AnimeExpander.xaml"/>
</ResourceDictionary.MergedDictionaries>
<DataTemplate x:Key="AnimeRow">
<DockPanel>
<!-- <Image Height="75" Width="Auto" Source="{Binding Image}" DockPanel.Dock="Left" VerticalAlignment="Top"/> -->
<Expander Template="{StaticResource AnimeExpanderControlTemplate}" Header="{Binding AnimeTitle}">
<Expander.ContentTemplate>
<DataTemplate>
<Border BorderBrush="Black" BorderThickness="1,1,1,1">
<!--Second list binding here (this doesn't work)-->
<ListView ItemsSource="{Binding Path=Episodes}">
<ListViewItem>
<DockPanel>
<TextBlock Text="{Binding Title}" DockPanel.Dock="Left" />
<!--<TextBlock Text="{Binding TimeAdded}" DockPanel.Dock="Right" />-->
</DockPanel>
</ListViewItem>
</ListView>
</Border>
</DataTemplate>
</Expander.ContentTemplate>
</Expander>
</DockPanel>
</DataTemplate>
</ResourceDictionary>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Width="700" Header="Anime" CellTemplate="{StaticResource AnimeRow}"/>
</GridView>
</ListView.View>
</ListView>
如果您需要更多源代码,请告诉我。非常感谢!
【问题讨论】:
-
所以我的代码发布在发布过程中被破坏了...不要问我预览中看起来如何。我会尝试重新发布 XAML
标签: c# wpf data-binding listview