Чтобы сделать это MVVM-способом, вам нужно набрать Command
.
. В вашей ViewModel добавить команду:
public ICommand ChangeStateCommand { get; set; }
и инициализировать ее в конструкторе:
ChangeStateCommand = new Command(() => IsChecked = !IsChecked);
Тогда вам нужно будет связать его с TapGestureRecognizer
вашего Label
.
<StackLayout Orientation="Horizontal" VerticalOptions="CenterAndExpand">
<CheckBox VerticalOptions="Start"
IsChecked="{Binding IsChecked,Mode=TwoWay}">
<CheckBox.Margin>
<OnPlatform x:TypeArguments="Thickness">
<On Platform="iOS" Value="0,-10,0,0" />
<On Platform="Android, WinPhone, Windows" Value="0,-5,0,0" />
</OnPlatform>
</CheckBox.Margin>
</CheckBox>
<Label VerticalTextAlignment="Center" VerticalOptions="Start"
Text="{Binding Text}" >
<Label.GestureRecognizers>
<TapGestureRecognizer Command="{Binding ChangeStateCommand}" />
</Label.GestureRecognizers>
</Label>
</StackLayout>
Надеюсь, это поможет .-