Жизнь это - мгновения, промежутки. Ночь ушла, солнце скоро взойдет. Сделайте эти промежутки настолько прекрасными насколько это возможно - наполненными молчанием, наполненными благодарностью к существованию, которое дало вам шанс, благодарностью по отношению ко всем тем, кто вам помог. И ждите.


30 апреля 2023 г.

InvokeCommandAction

 InvokeCommandAction

Пример использования InvokeCommandAction для вызова команды из XAML-разметки выглядит следующим образом:

  1. В ViewModel определяется команда, которая должна выполниться при вызове из XAML-разметки:

public class MyViewModel : BindableBase
{
    public MyViewModel()
    {
        MyCommand = new DelegateCommand(OnMyCommandExecuted);
    }

    private void OnMyCommandExecuted()
    {
        // выполняем действия при вызове команды из XAML-разметки
    }

    public DelegateCommand MyCommand { get; }
}


  1. В XAML-разметке элемента управления добавляется триггер EventTrigger и связывается с InvokeCommandAction, который вызывает команду из ViewModel:

<Button Content="Кнопка">
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="Click">
            <i:InvokeCommandAction Command="{Binding MyCommand}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</Button>


Здесь i - это XML-префикс, связанный с пространством имен Microsoft.Expression.Interactivity.Core.

В данном примере InvokeCommandAction вызывает команду MyCommand из ViewModel при нажатии на кнопку. Таким образом, при нажатии на кнопку будет вызываться метод OnMyCommandExecuted в ViewModel, который может выполнить необходимые действия при вызове команды.


Комментариев нет:

Отправить комментарий