【发布时间】:2011-03-21 16:43:06
【问题描述】:
我有这两个类:
class DownloadLink
{
public string Name { get; private set; }
public string Url { get; private set; }
//(...)
}
class DownloadGroup
{
public List<DownloadLink> Links { get; private set; }
//(...)
}
class Manager
{
public List<DownloadGroup> Groups { get; private set; }
}
Manager managerOBJ = new Manager();
我想这样显示:
所有内容都将在 ListBox 中: 我想将 managerOBJ.Groups 绑定到那个 ListBox。 - 怎么做? 比我想创建 DataTamplate 来显示每个组和该组中的所有链接。 - 怎么做?
我想从 XAML 做尽可能多的事情
更新:
这就是我得到的。这不是工作。列表框为空。
<ListBox DockPanel.Dock="Right" VerticalAlignment="Stretch" Width="500" HorizontalAlignment="Right" Background="#FFE1FFF5" HorizontalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Visible" ItemsSource="{Binding Path=Groups}" Name="GroupsListBox">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Height="30" VerticalAlignment="Top" Width="500" >
<Grid Height="Auto" Width="500">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Label Content="XX MB w XX plikach" HorizontalAlignment="Stretch" Margin="0"/>
</Grid>
<ListBox HorizontalAlignment="Stretch" Height="43" Margin="0,5,0,0" Width="Auto" VerticalAlignment="Top" ItemsSource="{Binding Path=Links}">
<ListBox.ItemTemplate>
<DataTemplate>
<Label Content="{Binding Path=Name}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
在代码中我有:
RapideoAccount = new Rapideo();
GroupsListBox.DataContext = RapideoAccount;
【问题讨论】:
-
查看问题右侧显示的相关问题。你一直在问很多重复的问题,这些问题都快结束了。坦率地说,让我们所有人都流泪了。你最好提防可怕的用户禁令脚本,meta.stackexchange.com/questions/56817/…
标签: c# .net wpf data-binding binding