2011-07-21 114 views
0

好吧我会做到这一点非常简单!以下是的ViewModels:Silverlight Wcf Ria服务viewmodel组合框

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方法?如果我不清楚,告诉我我会放更多的例子/代码。

tx很多!

回答

1

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

请注意将实际视图模型命名为“ViewModel”而不是“Model”的习惯,以免与其他“真实”模型发生冲突。它实际上看起来像你直接绑定到你的业务模型,而不是ViewModels(这不好)。