Nasıl yapılır: Hiyerarşik Veriler ile Ana Öğe-Ayrıntı Desenini Kullanma
Bu örnek, ana ayrıntı senaryosunun nasıl uygulanacağını gösterir.
Örnek
Bu örnekte, LeagueList bir koleksiyonudur Leagues . Her birinin League Name ve koleksiyonu vardır ve her birinin bir Divisions Division adı ve koleksiyonu vardır Teams . Her birinin Team bir takım adı vardır.
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:src="clr-namespace:SDKSample"
Width="400" Height="180"
Title="Master-Detail Binding"
Background="Silver">
<Window.Resources>
<src:LeagueList x:Key="MyList"/>
<DockPanel DataContext="{Binding Source={StaticResource MyList}}">
<StackPanel>
<Label>My Soccer Leagues</Label>
<ListBox ItemsSource="{Binding}" DisplayMemberPath="Name"
IsSynchronizedWithCurrentItem="true"/>
</StackPanel>
<StackPanel>
<Label Content="{Binding Path=Name}"/>
<ListBox ItemsSource="{Binding Path=Divisions}" DisplayMemberPath="Name"
IsSynchronizedWithCurrentItem="true"/>
</StackPanel>
<StackPanel>
<Label Content="{Binding Path=Divisions/Name}"/>
<ListBox DisplayMemberPath="Name" ItemsSource="{Binding Path=Divisions/Teams}"/>
</StackPanel>
</DockPanel>
</Window>
Aşağıda, örneğin bir ekran görüntüsü verilmiştir. , Divisions ListBox İçindeki seçimleri otomatik olarak izler Leagues ListBox ve ilgili verileri görüntüler. Teams ListBox Diğer iki denetimin içindeki seçimleri izler ListBox .

Bu örnekte dikkat etmeniz gereken iki şey şunlardır:
Üç ListBox denetim aynı kaynağa bağlanır. PathBağlamanın özelliğini, hangi veri düzeyini göstermesini istediğinizi belirtmek için ayarlarsınız ListBox .
Özelliğini, izlemekte olduğunuz IsSynchronizedWithCurrentItem
trueseçimin denetimlerinde ayarlamanız gerekir ListBox . Bu özelliğin ayarlanması, seçilen öğenin her zaman olarak ayarlanmasını sağlar CurrentItem . Alternatif olarak, ListBox verileri bir öğesinden alırsa, CollectionViewSource seçim ve para birimini otomatik olarak eşitler.
XML verileri kullanırken teknik biraz farklıdır. Bir örnek için bkz. HIYERARŞIK XML verileriyle Master-Detail modelini kullanma.