ですから、MVVMに頭を悩ませようとしていますが、答えよりも質問の方が多いことがわかりました。次のステップになると、チュートリアルは私には十分に行きません...
基本的に、アイテムのリストと、各アイテムの詳細を取得する方法が必要です。
以下は私がオンラインで見つけた例であり、リストを表示するのに最適ですが、VMを使用してこのアイテムの詳細を取得する方法を知る必要があります。
private IList<item> m_items;
private IList<item> m_Item;
private IList<item> getItemDetail(Int32 iId)
{
var myItem =
from i in items
where i.iId == iId
select i;
m_Item = new List<item>();
foreach (var item in myItem)
{
m_Item.Add(item);
}
return m_Item;
}
public myViewModel()
{
m_items = new List<item>
{
new item(1, "test,),
new item(2, "test2"),
new item(3, "test1")
};
m_Item = new List<item>();
m_Item = getItemDetail(iId);
}
アップデート:
上記のビューモデルコードを更新しました。私が行ったことは、ユーザーが詳細ページに移動すると、ビューモデルが特定のIDで呼び出され、詳細リストに入力される別のリストを追加したことだと思います。ここにはおそらくリストは必要ありませんが、メインページのコードとの一貫性を保つようにしたかったのです。
詳細ページでは、VMを次のように設定しています。
itemViewModel VM = new itemViewModel((Int32)navigationParameter);
DataContext = VM;
VM変数を壊すと、2つのリストが表示されます。ただし、私のバインディングはXAMLでは機能しません。サンプルXAMLを投稿する必要がある場合は、お知らせください。私はそれを行うことができますが、私がここで欠けている何かがあることを望んでいます。
私はMVVMを学ぼうとしていますが、正しくやりたいと思っています。ですから、間違った道を進むのではなく、「正しい」やり方を知りたいのです。エラーが発生した場合はお知らせください。
ありがとう!