How to pass listbox selecteditem as command parameter in a button?

32,842

Try this:

  1. Name your listbox
  2. Update the CommandParameter to:

    CommandParameter="{Binding ElementName=listBox1,Path=SelectedItem}"

Share:
32,842

Related videos on Youtube

Price Jones
Author by

Price Jones

Updated on July 09, 2022

Comments

  • Price Jones
    Price Jones almost 2 years

    Here is my situation:

    <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 ????}/>
    

    What I want is to pass the Id that is currently selected in the ListBox. I have a viewmodel behind the scenes that essentially looks like this:

    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}
    }
    

    How can I send the currently selected item using the xaml?