WPF - Binden selecteditem der listbox zwischen Benutzer-Steuerelemente
Habe ich zwei Benutzersteuerelemente, die erste mit einer listbox, die gebunden ist an eine Liste von Kunden, die zeigt einige einfache details, die für jeden Kunden.
Den zweiten Nutzer die Kontrolle ich möchte eine detaillierte übersicht, welcher Kunde ausgewählt wird in der listbox des ersten usercontrol.
Ist es möglich, eine Bindung in die zweite Steuerelement zu binden, um das ausgewählte Element in der ersten Benutzer-Steuerelement?
Mein Listenfeld:
<ListBox Name="lstCustomer" ItemsSource="{Binding Customers}" >
<ListBox.Resources>
<DataTemplate DataType="{x:Type MyApplication:Customers}">
<Label Grid.Row="0" Content="{Binding Customer.name}" FontSize="14" FontWeight="Bold" Padding="5" />
<Label Grid.Row="1" Grid.Column="0" Content="{Binding Customer.telephone}" Padding="10,5" />
</Grid>
</Grid>
</DataTemplate>
</ListBox.Resources>
</ListBox>
Detailansicht Usercontrol (Bisher)
<Grid x:Name="containingGrid" DataContext="{Binding ElementName=lstCustomers, Path=SelectedItem}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Customer.name}" FontSize="23"/>
</Grid>
Dank
Greg
- Was haben Sie arbeiten sollten, wenn Sie Ihren TextBlock verbindliche Text="{Binding name}". Ich würde vorschlagen, Sie ändern Sie "name" auf "Name" in Ihrer Eigenschaft Erklärung in Kunden zu identifizieren, es als eine Eigenschaft und machen es Folgen einige "Regeln!".
InformationsquelleAutor gr-eg | 2011-07-29
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde vorschlagen, um eine Eigenschaft in deinem ViewModel des Customer-Objekt sagen SelectedCustomer und binden es an das SelectedItem der listbox-wie diese -
Da Sie erwähnt, dass beide Bedienelemente sind in der gleichen Ansicht zu sein, also gehe ich davon aus, dass Sie teilen die gleiche ViewModel. In diesem Fall können Sie einfach die Daten, die Kontext-auf diese Weise -
Ja, Sie können - wenn Sie dem Listenfeld einen Namen CustomerList dann können Sie eine Bindung an die SelectedItem-Eigenschaft eine Bindung wie "{Binding ElementName= "CustomerList", Path=SelectedItem}".