这是绑定ComboBox的正确方法吗?

时间:2013-12-06 04:28:50

标签: c# wpf mvvm

我的约束力完美地展示了我的价值观。但我只是想确保我在正确的方向上学习技术。我想遵循MVVM模式。

这是我的viewModel代码:

class MainPageViewModel 
{
    public MainPageViewModel()
    {
        using (Lab_Lite_Entities db = new Lab_Lite_Entities())
        {
            Sex = (from t in db.TypeSexes
                   select t.Value).ToList();
        }
    }

    public List<string> Sex
    {
        get;
        private set;
    }
}

以下是我的表格:

人员表:

ID
Name
SexID 
Age

性别表:

SexID
Value

1 个答案:

答案 0 :(得分:1)

简短回答:是的。

答案很长:有点。

你所拥有的只是将你的组合框绑定到列表所需的一半。 您的XAML应该如下所示:

<Combobox ItemSource={Binding Sex} ... />

这将实际将组合框绑定到集合(在您的情况下为列表)。

通常,建议是绑定到一个Observable集合,但由于我没有看到你的Sex表如何突然改变,这不是一个大问题,绑定列表应该也能正常工作。

此外,您应该设置datacontext。全局视图,或者特别是组合框。大多数MVVM框架都会为某种定位器提供一些帮助。