Так что я новичок в MVVM. Я хорошо понимаю основы этого. У меня есть пример, который работает, просто найти как есть, но я пытаюсь изменить его в стиле MVVM. Я просто пробую разные примеры, чтобы научиться.
(LoginPage.xaml)
На стороне XAML у меня есть метка с жестом касания. довольно один
<!-- Existing Tab -->
<Label x:Name="labelName"
Grid.Column="0"
Style="{StaticResource CenteredTextTitle}"
Text="Log In">
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="SelectorOption_Tapped" />
</Label.GestureRecognizers>
</Label>
Страница LoginPage.xaml.cs
Я могу получить к ней доступ, создав задействованную функцию.
private async void SelectorOption_Tapped(object sender, EventArgs e)
{
if (!(sender is Xamarin.Forms.View view)) return;
int index = Grid.GetColumn(view);
...
}
Теперь я пытаюсь изменить это на MVVM .. Таким образом, XAML остается неизменным
на странице ViewModel loginpageviewmodel.cs page
public LoginPageViewModel()
{
btnSubmit_Clicked = new Command(SubmitClicked);
}
public ICommand btnSubmit_Clicked { get; set; }
private void SubmitClicked(object parameter)
{
if (!(parameter is Xamarin.Forms.View view)) return;
var index = Grid.GetColumn(view);
}
Я могу запустить функцию submitclicked. Но я не могу передать параметр. Его всегда ноль. Я хочу получить столбец из сетки, которая у меня есть, в зависимости от того, что выбирает пользователь. он отлично работает в исходном виде, но если я попытаюсь изменить его на MVVM, я не смогу передать форму представления, чтобы получить столбец get .. в любом случае я могу передать это .?