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の名前をItemsSourceとしてバインドして以来、私はList2の子にも、ExpanderのIsVisibleにもアクセスできません。 ItemsControlのListExampleからExample Elementに戻ることができるかどうかを知りたいと思います。モデル次与え
あなたがここで達成しようとしていることを確認していない、itemsourceはアイテムとビルドのリストを取るそこからコントロールのリストが作成されたアイテム内では関連性がなく、コントロールを作成するために使用されたアイテムが必要な場合は、dataDontextデータテンプレートの場合 – MikeT
バインドするクラスを指定する必要があります。彼らの見た目がはっきりしないからです。 – Liero
私に1分を教えてください、私はクラスモデル – SireChicken