类别:
class ViewModel
{
public List<Example> ListExample { get; }
}
class Example
{
public List<string> Names { get; }
public Visibility IsVisible { get; }
public List<Example> Children { get; }
}
的Xaml:
<ItemsControl ItemsSource="{Binding ListExample}"
Name="Base">
<ItemsControl.ItemTemplate>
...
<ListView ItemsSource="{Binding Names}"
Name="List1">
<ListView.ItemTemplate>
...
<StackPanel>
<ContentPresenter Content="{Binding }"/>
<Expander Visibility="{Binding IsVisible}">
<ListView ItemsSource="{Binding Children}"
Name="List2">
...
</ListView>
</Expander>
</StackPanel>
</ListView.ItemTemplate>
</ListView>
</ItemsControl.ItemTemplate>
</ItemsControl>
我已经尝试了各种RelativeSource方法,但无法使其正常工作。
由于我将List1中的Name绑定为ItemsSource,因此我无法在Expander中访问List2中的Children或IsVisible。 我想知道是否可以从ItemsControl中的ListExample返回到Example元素。
答案 0 :(得分:1)
给出以下模型:
x % y
它看起来像这样:
U8
答案 1 :(得分:1)
您可以使用这样的DataContext
绑定到父ListView
的{{1}}:
{RelativeSource}