所以,这是我希望的一个非常基本的问题。
我有一个我通过添加服务参考添加的Web服务。它有一些方法可以获取列表并在我的数据库中获取特定表的详细信息。
我要做的是按如下方式设置用户界面:
GetList();
方法在ListBox控件中显示结果我对使用MVVM非常陌生,因此非常感谢任何帮助。
其他信息:
// Service Interface (simplification):
interface IService
{
IEnumerable<MyObject> GetList();
MyObject GetDetail(int id);
}
// Data object (simplification)
class MyObject
{
public int ID { get; set; }
public string Name { get; set; }
}
我想我应该有这样的事情:
MainWindow
MyObjectViewUserControl
Displays list
Opens modal window on double click
具体问题:
对不起详细介绍,但我对整件事情都很陌生,而且我没有足够的教育来提出正确的问题。
我从wpf.codeplex.com查看了MVVM示例,但是我还没有找到一些东西,因为它看起来很混乱。
答案 0 :(得分:3)
答案 1 :(得分:1)
您将拥有2个ViewModel,因为您有2个视图
1 ViewModel将具有
2 ViewModel将具有
使用ViewModel后,使用WPF绑定和命令将数据从VM连接到XAML
用于用户控制的MVVM变得有点复杂,所以如果可能的话,暂时离开UserControls。
答案 2 :(得分:0)
请参阅我的yodelay项目中的RegularExpressionViewModel示例。
您的大部分代码都将放在ViewModel中。应该在您的视图中唯一的代码是将View的事件连接到ViewModel的代码。通常在视图中不需要代码,因为大多数接线都可以由DataBinding处理。
我使用带有依赖注入的表示抽象层来与对话框进行通信。