因此,我试图围绕 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,我想做正确的事情。因此,与其继续走错路,我真的很想知道“正确”的做事方式。因此,如果您发现错误,请告诉我。
谢谢!