Silverlight Wcf Ria服务viewmodel组合框

时间:2011-07-21 00:51:50

标签: silverlight wcf-ria-services

好的,我会让这很简单!这是viewmodels:

public class ObjectsModel
{
    public event PropertyChangedEventHandler PropertyChanged = delegate { };

    private string _objectName;
    public string ObjectName
    {
        get
        {
            return _objectName;
        }
        set
        {
            if (value != _objectName)
            {
                _objectName = value;
                PropertyChanged(this, new PropertyChangedEventArgs("ObjectName"));
            }
        }
    }

    public IEnumerable<Object> Objects {get;set;}

    public ICommand AddCommand { get; private set; }
    public ICommand SaveChangesCommand { get; private set; }

    myDomainContext context = new myDomainContext();
    public ObjectsModel()
    {
        objects = context.Objects;
        context.Load(context.GetObjectsQuery());
    }

}

public class InventoryModel
{
    public event PropertyChangedEventHandler PropertyChanged = delegate { };

    public IEnumerable<Inventory> Inventories {get;set;}

    public ICommand AddCommand { get; private set; }
    public ICommand SaveChangesCommand { get; private set; }

    myDomainContext context = new myDomainContext();

    public ObjectsModel()
    {
        objects = context.Objects;
        context.Load(context.GetObjectsQuery());
    }

}

所以我要做的是在我的第二种形式,我想为一个对象添加一个库存,我必须在一个组合框中选择对象。问题是,我如何填充我的组合框?在InventoryModel中创建“ObjectsModel”的另一个实例?或使用另一个“上下文”,我会查询另一个表?或者是否有更简单的Xaml方法?如果我不清楚,请告诉我我会放更多的例子/代码。

很多!

1 个答案:

答案 0 :(得分:1)

您希望将组合框的内容绑定到ViewModel提供的项目列表,并将所选项目绑定到同一ViewModel上的另一个属性。

请养成将实际视图模型命名为“ViewModel”而不是“Model”的习惯,这样它们就不会与其他“真实”模型发生冲突。实际上看起来你直接绑定到你的商业模式而不是ViewModels(这不好)。