2012-08-22 25 views

回答

1

有兩種方法,我通常做這個

如果我只需要知道什麼是選擇一個命令的目的,我將設置我在ViewModelRelayCommandDelegateCommand期待IList<SomeClass>類型和參數傳遞ListView.SelectedItems在作爲CommandParameter

<Button Command="{Binding SomeCommand}" 
     CommandParameter="{Binding ElementName=MyListView, Path=SelectedItems}" /> 

另一種方法我經常使用是創建一個IsSelected財產上的任何數據項在ListView被使用,並將其綁定到ListViewItem.IsSelected財產

<Style TargetType="{x:Type ListViewItem}"> 
    <Setter Property="IsSelected" Value="{Binding IsSelected}" /> 
</Style> 

然後我ViewModel可以發現,如果通過觀察它選擇與否的項目的IsSelected財產

foreach(var item in MyCollection) 
{ 
    if (item.IsSelected) 
     // Do work 
}