MEF'ye bir genişletilebilirlik çerçevesi olarak bakıyordum ve bir nokta hariç, hemen hemen satıldım:WPF DataTemplate'i içe aktarmak için MEF'yi kullanma?
Bir ViewModel ve bir Görüntüle'yi görüntülemek için her ikisini de içe aktarmak istiyorum. Ben bunu yapmak için "doğru" yolu bir ViewModel sınıfı ve ViewModel görüntüleyen bir DataTemplate için MEF bölümü için olduğunu düşünüyorum. Örnek olarak, Visio benzeri bir uygulama oluşturduğunuzu ve bir şekil kitaplığı içe aktarmak istediğinizi varsayalım. Her bir şeklin, Xaml'de tanımlanmış bir Görünüm ve altta yatan bazı Model nesnesini saracak bir ViewModel'e ihtiyacı vardır.
Bu mümkün mü? Alma sözleşmesi DataTemplate için neye benziyordu ve WPF'yi içe aktarılan DataTemplate'den nasıl haberdar edebilirim?
[ImportMany("ApplicationResources", typeof(ResourceDictionary))]
public IEnumerable<ResourceDictionary> Views { get; set; }
Sonra kompozit kısmında, bir ViewModel ilan: my ev sahibi WPF uygulamasında
, bu İçe ekledi:
Bu kesin yaklaşımı denedim ancak ResourceDictionary yükleme zamanında boş. Başlatma zorlamak için bir yolu var mı yoksa yanlış bir şey mi yapıyorum? –