2013-08-15 59 views
33

Đây là tình hình của tôi:Làm cách nào để chuyển danh sách selecteditem thành tham số lệnh trong một nút?

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

Những gì tôi muốn là để vượt qua Id mà hiện tại đang được chọn trong ListBox. Tôi có chế độ xem cảnh hậu trường về cơ bản trông giống như sau:

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

Tôi có thể gửi mục hiện được chọn bằng xaml bằng cách nào?

Trả lời

55

Hãy thử điều này:

  1. Tên listbox bạn
  2. Cập nhật các CommandParameter tới:

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

+2

Điều đó có hiệu quả. Cảm ơn. –