首先我要说的是,为了解释我的问题,我不清楚使用的语言 - 请原谅,如果我不能马上清楚的话。
wpf中的数据绑定对我来说不是很清楚,所以我无法找到解决以下问题的方法。我想通过嵌套ListView中的数据绑定引用包含ListView的嵌入式ListView的数据元素。可能我会盲目地看到森林里的树林......
在以下几点:
<TextBlock Text="{Binding DataContext.Id, ElementName=somename}"/>
我想引用包含ListView的dataelement。让我举个例子:
这里我想使用John的数据
名称是包含ListView,工作日是嵌套的ListView。
当然这是一个虚构的例子 - 但真正的例子太难解释了。
这是一个完整的&#34;代码示例:
<ListView ItemsSource="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=DataContext.PackagingTypeList}" BorderThickness="0" Name="somename" >
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" >
<!--Display Section for the first ListView -->
<TextBlock Text="{Binding Name}" />
<ListView ItemsSource="{Binding PackagingList}" BorderThickness="0" SelectedItem="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}, Path=DataContext.Packaging_Selected}" >
<ListView.ItemTemplate >
<DataTemplate>
<WrapPanel >
<!--Display Section for the second ListView -->
<TextBlock Text="{Binding Id}" />
<TextBlock Text="{Binding DataContext.Id, ElementName=somename}"/>
</WrapPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
如果有人可以帮助我,我会非常感激。
祝你好运, Fabianus
答案 0 :(得分:0)
非常感谢你的帮助!
最后两个解决方案都有效:
<TextBlock Text="{Binding DataContext.Id, ElementName=somename}"/>
<TextBlock Text="{Binding DataContext.Id, RelativeSource={RelativeSource FindAncestor, AncestorLevel=2, AncestorType=ListViewItem}}"/>