ListBox集合之外的绑定属性[重复]
Posted
技术标签:
【中文标题】ListBox集合之外的绑定属性[重复]【英文标题】:Binding properties outside ListBox collection [duplicate] 【发布时间】:2018-02-22 21:41:03 【问题描述】:如果我有一个ListBox
并且它绑定到MyObject.MyCollection
,我怎样才能获得MyObject.MyValue
?
<ListBox ItemsSource="Binding Path=MyObject.MyCollection">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="Binding Path=Name"/>
<TextBlock Text="Binding Path=MyObject.MyValue"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
public class MyObject
public ObservableCollection<CollectionThing> MyCollection get; set;
public string MyValue get; set;
【问题讨论】:
【参考方案1】:我认为你可以在绑定中使用相对源
<ListBox ItemsSource="Binding Path=MyObject.MyCollection">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="Binding Path=Name"/>
<TextBlock Text="Binding Path=DataContext.MyObject.MyValue,
RelativeSource=RelativeSource AncestorType=ListBox"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
【讨论】:
以上是关于ListBox集合之外的绑定属性[重复]的主要内容,如果未能解决你的问题,请参考以下文章
WPF中的ListBox,ListView和DataGridView有啥区别
更改 Button.Click 上的 ListBox.ItemsSource 绑定属性?