我有ListBox
绑定到集合(发布者),每个发布者都有一个名称和作者集合,每个作者都有一个名称。那么我怎样才能提供作者姓名的绑定?
<TextBlock Text="{Binding name}" Grid.Column="1" Grid.Row="1"></TextBlock>
<TextBlock Text="{Binding city}" Grid.Column="1" Grid.Row="0"></TextBlock>
它对发布商的名称和城市具有约束力。
答案 0 :(得分:1)
这样的事情提供了catch(Exception ex)
{
// the form that takes two args has an exception as second, prints trace...
_log.Error("My custom message", ex);
}
类,或者你称之为的任何类,使用具有索引器的公共集合属性公开作者:
Grid.SelectCellAnchorRange(0, columndetails, total_rows, columndetails);
这将显示索引为0的第一位作者的姓名。
如果您打算显示所选发布商的所有作者,则应使用Publisher
:
<ListBox x:Name="listBox" ItemsSource="{Binding Publishers}" .... />
<TextBlock Text="{Binding SelectedItem.Authors[0].Name, ElementName=listBox}" Grid.Column="1" Grid.Row="0"></TextBlock>
答案 1 :(得分:0)
作者将是集合中的元素,该集合是发布者的一部分。
因此,WPF无法知道&#39;要显示的作者姓名:有多个。
可以使用ItemsControl而不是文本块,将ItemsCollection绑定到当前发布者的作者集合。
答案 2 :(得分:0)
<ListBox ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding name}"></TextBlock>
<ListBox ItemsSource="{Binding authors}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding name}"></TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
这将显示发布商的名称,其中包含每个发布商的所有作者的列表。我假设发布商有一个名为authors
的属性,返回IEnumerable<Author>