2016-05-02 6 views
0

Как обрабатывать выполнение команды с помощью Multiple SelectionMode для Listview? ListView ItemsSource является привязкой к ObservableCollection (EF таблице), и я установил лимит выборов 2:Выполнение команды на основе выбора ListView с помощью Multiple SelectionMode

<ListView ItemsSource="{Binding EmployeeViewM.MainActivity}" 
         SelectionMode="Multiple" 
         IsSynchronizedWithCurrentItem="True" 
         HorizontalAlignment="Right" 
         BorderBrush="{x:Null}" 
         Background="{x:Null}" 
         VirtualizingPanel.IsVirtualizing="True" 
         VirtualizingPanel.IsContainerVirtualizable="True"        
         VirtualizingPanel.IsVirtualizingWhenGrouping="True" 
         VirtualizingPanel.ScrollUnit="Item" 
         VirtualizingPanel.VirtualizationMode="Standard"> 

<I:Interaction.Behaviors> 
    <limit:LimitSelectionBehavior Limit="2"/> 
</I:Interaction.Behaviors> 

Я хотел бы выполнить команду (RelayCommand), основываясь на количестве элементов, которые выбраны. Что-то вроде:

If SelectItems.Count = 1 Then 
     'Get first item selected 
     'Save to the database to table 1 
     'Start Timer_01 
    ElseIf SelectItems.Count = 2 Then 
     'Get last selected item 
     'Save to the database to table 2 
     'Start Timer_02 
    End If 

Как я могу обрабатывать несколько вариантов здесь? Благодарим вас за любые предложения

ответ

0

Получить выбор, изменив событие просмотра списка и прокрутить список, чтобы узнать, какие элементы выбраны. Проверьте пример кода ниже!

public void Selection_Changed(object sender, EventArguments arg) 
{ 
    List<DataClass> selectedItems = new List<DataClass>(); 

    foreach(DataClass item in LISTVIEWNAME.SelectedItems) 
    { 
    selectedItems.Add(item); 
    } 
} 

Теперь SelectedItems будет иметь список выбранных элементов списка в виде списка. Надеюсь, вы поняли!

+0

Спасибо! И как мне это сделать в MVVM? – ViVi

+0

Да. Вы можете связать событие SelectionChanged listview с командой в модели представления, если вы используете архитектуру MVVM. – ViVi

+0

Если у вас есть смысл, пожалуйста, пометьте мой ответ как правильный ответ, чтобы он помог другим, у кого такая же проблема. – ViVi

 Смежные вопросы

  • Нет связанных вопросов^_^