Ich folgte this Artikel und implementiert CarouselView in meiner Xamarin Forms App, aber ich kann nicht herausfinden, welches Ereignis oder Befehl zu binden, wenn es umgedreht wird. Ich möchte etwas Code ausführen, wenn es umgedreht wird. Ich kann das tun, indem ich Code hinter ItemSelected oder PositionSelected verwende, aber ich möchte das im ViewModel machen. Und wenn ich versuche, wie unten einen Befehl auf diesen 2 zu binden, wirft es eine Ausnahme zu sagen „Nein Eigentum von Namen gefunden PositionSelected“Wie binden Sie die Spiegelungsaktion für CarouselView mit mvvm?
XAML:
<cv:CarouselView x:Name="list" Grid.Column="0" Grid.Row="1"
ItemsSource="{Binding Logs}" PositionSelected="{Binding OnPositionSelected}">
<cv:CarouselView.ItemTemplate>
...
Ansichtsmodell:
private Command onPositionSelected;
public Command OnPositionSelected
{
get {
return onPositionSelected;
}
set {
onPositionSelected = value;
}
}
und dies funktioniert problemlos
<cv:CarouselView PositionSelected="OnPositionSelected">
<cv:CarouselView.ItemTemplate>
...
private void OnPositionSelected(object sender, SelectedPositionChangedEventArgs e)
{
System.Diagnostics.Debug.WriteLine(e.SelectedPosition.ToString());
}
Und was ist die Ausnahme, die es wirft? –
@GeraldVersluis Nein Eigenschaft des Namens PositionSelected gefunden – batmaci
@GeraldVersluis siehe meine aktualisierte Frage – batmaci