私はXamarin.Formの新機能です。ご協力いただきありがとうございます。Xamarin ListView itemSelected MVVM
現在のプロジェクトでMVVMパターンを使用しています。リストビューには人が住んでいますが、リストビューでアイテムを選択して詳細を表示します。残念ながら、この問題に対処する例は見つかりませんでした。
これは私のバインド可能なクラスです:
public static readonly BindableProperty CommandProperty =
BindableProperty.Create(
propertyName: "Command",
returnType: typeof(ICommand),
declaringType: typeof(ListViewItemSelected));
public ICommand Command
{
get { return (ICommand)GetValue(CommandProperty); }
set { SetValue(CommandProperty, value); }
}
protected override void OnAttachedTo(ListView bindable)
{
base.OnAttachedTo(bindable);
bindable.ItemSelected += BindableOnItemSelected;
bindable.BindingContextChanged += BindableOnBindingContextChanged;
}
private void BindableOnBindingContextChanged(object sender, EventArgs e)
{
var lv = sender as ListView;
BindingContext = lv?.BindingContext;
}
private void BindableOnItemSelected(object sender, SelectedItemChangedEventArgs e)
{
if (Command == null)
return;
Command.Execute(null);
}
私は私のViewModelの次のステップについて確認していません。 私は私が一種の取得する方法DetailViewPageで立ち往生しています。このメソッドに
void PathToDetailView()
{
//Which I do not know what should go here to redirect to DetailsPage for each item.
}
を作成し、私は
DetailView = new Command(PathToDetailView);
を追加私のコンストラクタで
public ICommand DetailView { get; set; }
方法をexacuteするICommandのプロパティを作成値。
ご協力いただきありがとうございます。