Nasıl yapılır: Hiyerarşik Veriler ile Ana Öğe-Ayrıntı Desenini Kullanma
Bu örnekte, ana ayrıntı senaryosunun nasıl uygulandığı gösterilmektedir.
Örnek
Bu örnekte, LeagueList
bir koleksiyonudur Leagues
. Her League
birinin bir Name
ve koleksiyonu Divisions
vardır ve her Division
birinin bir adı ve koleksiyonu Teams
vardır. Her Team
birinin bir ekip 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 ekran görüntüsü verilmiştir. içindeki Divisions
ListBox seçimleri Leagues
ListBox otomatik olarak izler ve ilgili verileri görüntüler. Diğer Teams
ListBox iki ListBox denetimdeki seçimleri izler.
Bu örnekte dikkate almak gereken iki şey şunlardır:
Üç ListBox denetim aynı kaynağa bağlanır. Bağlamanın Path özelliğini, hangi veri düzeyini görüntülemek istediğinizi ListBox belirtmek için ayarlarsınız.
özelliğiniIsSynchronizedWithCurrentItem, izlemekte
true
olduğunuz seçimin ListBox denetimlerinde olarak ayarlamanız gerekir. Bu özelliğin ayarlanması, seçilen öğenin her zaman olarak ayarlanmasını CurrentItemsağlar. Alternatif olarak, veri bir 'den ListBoxalırsaCollectionViewSource, seçimi ve para birimini otomatik olarak eşitler.
XML verilerini kullanırken teknik biraz farklıdır. Örnek için bkz . Hiyerarşik XML Verileriyle Ana Ayrıntı Desenini Kullanma.
Ayrıca bkz.
.NET Desktop feedback