2011-05-19 5 views
5

Ben adında bir sınıf MyWindowWindow türetilmiştir var. Ben şu alanına sahip kod arkasında yüzden MVVM modelini kullanın:Basit WPF + MVVM bağlayıcı

public MyViewModel ViewModel = new MyViewModel(); 

ViewModelPerson bir koleksiyon içerir ve yapmak istediğiniz tüm bu koleksiyona bir ComboBox bağlamak olarak Person.Name göstermektir Her Person için başlık.
Ayrıca, ViewModel'da seçilen öğeye veriye bağlı olacak başka bir alan olmasını da istiyorum.

Lütfen bana yardım edin. aşağıdaki gibi

this.DataContext = MyModelView; 

Sonra ComboBox ayarlayabilirsiniz:: Şimdiye kadar yapmadıysanız

+0

Kendi bağlantısına http://stackoverflow.com/questions/561166/binding-wpf-combobox-to-a-custom-list/561427#561427 göz at – biju

cevap

5

Eh öncelikle yapıcı metotta viewmdodel için pencerenin datacontext ayarlamak zorunda

<ComboBox ItemsSource={Binding Persons} SelectedItem={Binding CurrentPerson,Mode=TwoWay} DisplayMemberPath="Name"/> 

Kişiler Kişilerin Toplandığı ve Mevcut Kişinin Seçilen Kişiye Bağlı Olduğu Durumdur.

2
  1. ModelView öğesini MyWindow.DataContext özelliğine atayın. Bu veri bağlama için kullanılabilir hale getirir.
  2. veriler böyle combobox xaml bağlayıcı tanımlayın:

<ComboBox ItemsSource="{Binding PersonCollection}" DisplayMemberPath="Name" SelectedValue="{Binding SelectedPerson}" > </ComboBox>

Bu Modelview Kişi nesneler topluluğudur bir özellik PersonCollection olduğunu varsayar, Kişi nesne üzerinde bir mülkiyet Ad, ve modelde bulunan bir Kişi Seçilmiş Kişisi.