Стандартный подход с MVVMLight - это разделение вашей модели представления на данные и команды. Большинство вещей, которые вы используете, связаны с данными, свойствами и т. Д., Но команды действительно что-то делают.
В этом случае то, что вы называете «Метод огня 1», является обычным методом, который для соответствия шаблону вы должны преобразовать в команду. Если у вас уже есть команды, вы знаете, о чем я говорю.
Клей для таких событий, как SelectionChanged
, который вы бы связали с code-behind в MVVMLight, - это EventToCommand
, который представляет собой фрагмент XAML, который вы вставляете в XAML с элементом pivot, а не в обработчик событий. 1007 *
Итак, это шаблон: EventToCommand
- ваш ключ к подключению событий XAML к командам модели представления без какого-либо кода позади. Лучше всего использовать образцы MVVMLight, чтобы увидеть, как работает EventToCommand
, потому что есть много способов его использовать.
Но вот голая версия:
<controls:PivotItem Name="pivotItem">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<cmd:EventToCommand Command="{Binding SelectServiceCommand}"
CommandParameter="{Binding SelectedIndex, ElementName=pivotItem}"/>
</i:EventTrigger>
<!-- other stuff -->
</i:Interaction.Triggers>
</controls:PivotItem>
и для этой работы SelectServiceCommand
должен фактически существовать в модели представления, он должен принимать параметр и делать правильные вещи для 0, 1, 2, 3 и т. Д.