web-dev-qa-db-ja.com

リストボックスselecteditemをボタンのコマンドパラメーターとして渡す方法は?

私の状況は次のとおりです。

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

私が欲しいのは、現在ListBoxで選択されているIDを渡すことです。私は基本的にこのように見えるビューモデルを舞台裏に持っています:

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

Xamlを使用して現在選択されているアイテムを送信するにはどうすればよいですか?

39
Price Jones

これを試して:

  1. リストボックスに名前を付けます
  2. CommandParameterを次のように更新します:

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

65