2011-07-21 146 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(這不好)。