Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este ejemplo se muestra cómo implementar el escenario master-detail.
Ejemplo
En este ejemplo, LeagueList
es una colección de Leagues
. Cada League
tiene un Name
y una colección de Divisions
, y cada Division
uno tiene un nombre y una colección de Teams
. Cada Team
tiene un nombre de equipo.
<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 continuación se muestra una captura de pantalla del ejemplo. El Divisions
ListBox realiza un seguimiento automático de las selecciones en el Leagues
ListBox y muestra los datos correspondientes.
Teams
ListBox rastrea las selecciones en los otros dos controles ListBox.
Las dos cosas que se deben observar en este ejemplo son:
Los tres ListBox controles se enlazan al mismo origen. Ajuste la propiedad de Path de la vinculación para especificar el nivel de datos que desea que ListBox muestre.
Debe establecer la propiedad IsSynchronizedWithCurrentItem en los controles
true
de los que está realizando el seguimiento de la selección. Establecer esta propiedad garantiza que el elemento seleccionado siempre se establezca como CurrentItem. Como alternativa, si ListBox obtiene sus datos de un CollectionViewSource, sincroniza automáticamente la selección y el curso.
La técnica es ligeramente diferente cuando se usan datos XML. Para obtener un ejemplo, vea Usar el patrón Master-Detail con datos XML jerárquicos.
Consulte también
.NET Desktop feedback