想知道如何最好地实现Presentation Model模式。我已经阅读了有关MVVM的信息,但不适用于我,因为我没有使用Silverlight或WPF。

最佳答案

Update Controls在Windows窗体中实现Presentation Model模式。您使用独立字段编写模型类。

public class Person
{
    private Independent<string> _first = new Independent<string>();
    private Independent<string> _last = new Independent<string>();

    public string First
    {
        get { return _first; }
        set { _first.Value = value; }
    }

    public string Last
    {
        get { return _last; }
        set { _last.Value = value; }
    }
}

然后,编写具有常规属性的表示模型。
public class PersonPresentationModel
{
    private Person _person;

    public PersonPresentationModel(Person person)
    {
        _person = person;
    }

    public Person Person
    {
        get { return _person; }
    }

    public string FullName
    {
        get { return _person.Last + ", " + _person.First; }
    }
}

处理Windows窗体控件中的事件以从表示模型中获取数据。
    private string FirstName_GetText()
    {
        return _presentationModel.Person.First;
    }

    private void FirstName_SetText(string value)
    {
        _presentationModel.Person.First = value;
    }

    private string LastName_GetText()
    {
        return _presentationModel.Person.Last;
    }

    private void LastName_SetText(string value)
    {
        _presentationModel.Person.Last = value;
    }

    private string FullName_GetText()
    {
        return _presentationModel.FullName;
    }

当模型更改时,更新控件将跟踪依赖关系并更新Windows窗体控件。它甚至会浏览表示模型以查看其依赖关系。

关于.net - 如何在Winforms中使用Presentation Model?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1288508/

10-09 08:38