从视图中发回不同的模型

时间:2015-02-11 14:08:01

标签: c# model-view-controller viewmodel

我想将2个不同模型的详细信息发送到视图中,因此我使用视图模型执行此操作。

namespace Apps.Models
{
public class viewmodel1
{
    public App app { get; set; }
    public List<Colleague> colleague { get; set; }
}
}

应用程序是一个模型,用于存储有关应用程序的各种属性,而同事则是存储有关同事的各种属性的模型。

最初我只是在应用程序中传递,但我希望能够在创建应用程序时显示此视图中同事名字的下拉列表(因为这两个是链接的)所以我需要传入所有目前的同事得到他们的名字。这部分正在运作。

但是,当提交表单以接受此新的viewmodel类型时,我的操作结果需要更改,并且我不知道如何从操作结果访问属性。通常,当你绑定include时,模型中只有属性,但我想要包含视图模型所具有的对象的属性。我不知道该怎么做,或者我只是做错了。

我显然希望保留已经为应用属性编写的验证,但我不确定我是否可以这样做。

1 个答案:

答案 0 :(得分:0)

如果没有看到您尝试使用的xaml绑定,不确定这是否是您问题的答案,但您可以使用潜入对象的绑定。

所以如果你有一个Employee对象就是你的DataContext(虽然它没有控制器逻辑,但Employee会是你的ViewModel,所以我猜这只是一个模型):

public class Employee
{
    public string Name {get; set;}
    public EmpAddress Address {get; set;}
}

public class EmpAddress
{
    public string Street {get; set;}
    public string Zip {get; set;
}

您可以执行如下所示的绑定:

<TextBlock Text={Binding Address.Street}/>

如果这不是你所追求的,请告诉我,我会尽力帮助。