Как связать команду с событием «Несосредоточено» в Xamarin Forms - PullRequest
0 голосов
/ 30 января 2019

У меня есть команда (или фрагмент кода), которую я хочу выполнить, когда конкретная запись теряет фокус.

Я использую MVVM, поэтому я хочу сделать это, используя способ привязки вместонаписание кода в моем Form.xaml.cs.

Как выполнить команду (или фрагмент кода), когда моя запись теряет фокус в файле XAML?

1 Ответ

0 голосов
/ 30 января 2019

В примерах Xamarin.Forms есть пример EventToCommandBehavior ( см. Здесь ).Используя это, вы можете связать свой элемент управления

<Entry>
    <Entry.Behaviors>
        <behaviors:EventToCommandBehavior 
            EventName="Unfocused" 
            Command="{Binding EntryUnfocused}" />
    </Entry.Behaviors>
</Entry>

Затем определите EntryUnfocused в вашем классе viewmodel.cs файла вашего конкретного представления, как показано ниже:

public class LoginViewModel : XamarinViewModel
{
    public ICommand EntryUnfocused{ get; protected set; } 
    public LoginViewModel()
    {
        EntryUnfocused= new Command(CompletedCommandExecutedAsync);
    }

    private void CompletedCommandExecutedAsync(object param)
    {
     //yourcode...
    }
}

Если вы используетебиблиотеку Prism, вы можете использовать их реализацию, которая является немного более зрелой (что позволяет отображать аргументы события, указав, какой параметр должен быть передан), см. здесь .

( Обратите внимание, , что вам придется добавить соответствующее пространство имен, в котором живет поведение, в ваш файл XAML).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...