2011-07-21 15 views
0

私はこれを非常に簡単にします!ここでのviewmodelsです:Silverlight Wcf Riaサービスviewmodel combobox

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」で終わらせるようにしてください。他の「実際の」モデルと衝突しないようにしてください。 ViewModelsの代わりにビジネスモデルに直接バインドしているようです(これはうまくいきません)。

関連する問題