Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Beispiel wird gezeigt, wie das Master-Detail-Szenario implementiert wird.
Beispiel
In diesem Beispiel LeagueList
ist eine Auflistung von Leagues
. Jeder League
hat eine Name
und eine Sammlung von Divisions
, und jeder Division
hat einen Namen und eine Sammlung von Teams
. Jeder Team
hat einen Teamnamen.
<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>
Im Folgenden sehen Sie einen Screenshot des Beispiels. Die Divisions
ListBox verfolgt automatisch Auswahlen in den Leagues
ListBox und zeigt die entsprechenden Daten an. Die Teams
ListBox Auswahl verfolgt die Auswahl in den anderen beiden ListBox Steuerelementen.
Die beiden Punkte, die Sie in diesem Beispiel beachten müssen, sind:
Die drei ListBox Steuerelemente binden an dieselbe Quelle. Sie legen die Path Eigenschaft der Bindung fest, um anzugeben, welche Datenebene der ListBox anzeigen soll.
Sie müssen die IsSynchronizedWithCurrentItem Eigenschaft auf
true
der ListBox Steuerelemente festlegen, deren Auswahl Sie nachverfolgen. Durch Festlegen dieser Eigenschaft wird sichergestellt, dass das ausgewählte Element immer als CurrentItemfestgelegt ist. Wenn alternativ ListBox die Daten von einem CollectionViewSource-Element abruft, werden Auswahl und Währung automatisch synchronisiert.
Die Technik unterscheidet sich geringfügig, wenn Sie XML-Daten verwenden. Ein Beispiel finden Sie unter Verwenden des Master-Detail Musters mit hierarchischen XML-Daten.
Siehe auch
.NET Desktop feedback