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 Divisionsvardır ve her Division birinin bir adı ve koleksiyonu Teamsvardı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 DivisionsListBox seçimleri LeaguesListBox otomatik olarak izler ve ilgili verileri görüntüler. Diğer TeamsListBox iki ListBox denetimdeki seçimleri izler.

Screenshot that shows a Master-detail scenario example.

Bu örnekte dikkate almak gereken iki şey şunlardır:

  1. Üç 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.

  2. özelliğinitrue, izlemekte IsSynchronizedWithCurrentItem 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 CollectionViewSourcealırsaListBox, 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.