Формы Xamarin создают событие Clicked для элемента управления CheckBox - PullRequest
0 голосов
/ 14 марта 2020

, поэтому я пытаюсь использовать элемент управления CheckBox с MVVM logi c. Однако единственным существующим событием является CheckedChanged, которое также срабатывает, если я, например, перемещаюсь по странице.

Я ищу событие Clicked, как у кнопки.

Нужно ли мне создать пользовательский элемент управления с пользовательским средством визуализации, или есть лучшее решение?

Жду ответов.

[РЕДАКТИРОВАТЬ]

Чтобы предоставить больше информации о моей проблеме, я приведу примеры кода ниже.

Мои флажки находятся внутри ListView. Каждый CheckBox определяется следующим образом в XAML:

<CheckBox 
     IsChecked="{Binding IsCompleted}">

     <CheckBox.Behaviors>
         <prism:EventToCommandBehavior
             EventName="CheckedChanged"
             Command="{Binding SubTaskStateChangedCommand}"/>
     </CheckBox.Behaviors>

</CheckBox>

ItemSource объекта ListView имеет свойство IsCompleted и DelegateCommand SubTaskStateChangedCommand. Стоит отметить, что я использую Prism.

В конструкторе:

SubTaskStateChangedCommand = new DelegateCommand(OnSubTaskStateChangedCommandExecuted);

Класс SubTaskModel:

public DelegateCommand SubTaskStateChangedCommand { get; set; }

private void OnSubTaskStateChangedCommandExecuted()
{
    //Do something
}

private bool _isCompleted;

public bool IsCompleted
{
     get { return _isCompleted; }
     set { _isCompleted = value; OnPropertyChanged(); }
}

Поэтому, когда я перехожу на другую страницу в мой ViewModel с использованием Prism NavigationService, метод OnSubTaskStateChangedCommandExecuted срабатывает. Однако я заметил, что когда это происходит, значение IsCompleted НЕ изменяется.

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