2013-08-15 1 views
33

Hier ist meine Situation:Wie Listbox selecteditem als Befehlsparameter in einer Schaltfläche übergeben?

<ListBox ItemsSource="{Binding Path=AvailableUsers}"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding Path=Id}"/> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 
<Button Command="{Binding Path=Load}" CommandParameter={???? What goes here ????}/> 

Was ich will, ist die ID zu übergeben, die sich derzeit in der List-Box ausgewählt ist. Ich habe ein Viewmodel hinter den Kulissen, die im Wesentlichen wie folgt aussieht:

public class ViewModel : DependencyObject 
{ 
    ICommand Load { get; set; } 

    // dependency property but I didn't bother to write it out like one 
    List<User> AvailableUsers { get; set} 
} 

Wie kann ich das aktuell ausgewählte Element mit der XAML schicken?

Antwort

55

Versuchen Sie folgendes:

  1. Namen Geben Sie Ihren listbox
  2. Aktualisieren Sie die Commandparameter an:

    Command = "{Binding Elementnamen = listBox1, Path = SelectedItem}"

+2

Das hat funktioniert. Vielen Dank. –