Bir IValueConverter uygulamalı sınıfım var ve DI kapsayıcım (Ninject) kullanarak enjekte edilmesine ihtiyacım var.XAML'ye Dönüştürücü Nasıl Eklenir
Sorun, XAML'de, Dönüştürücü nesnesinin başlatılması üzerinde denetim almanın hemen belli bir yolu yoktur. "{StaticResource ImagePathConverter Bağlama Yol = CurrentMessage, Dönüştürücü = {}}"
yerlerde, ImagePathConverter olacak =
Kaynak:
Yani benim XAML böyle bir çizgi şey içeriyor benim için yaratılmış.
Sanırım bir "hizmet bulucu" statik sınıfı oluşturabilir ve bağımlılığımı gidermek ve StaticResource özelliğini bir mülke "MyServiceLocator.TheImageConverter" olarak değiştirmek için çağırabilirim, ancak bu beni kusmak istiyor.
Bu sorunun, özellikle sağlanan kodu ve belki de bir örnek için destekleyici bir bağlantıyı hedefleyen birkaç kod parçasıyla yanıtlanabileceğini umuyorum. Sadece bir yere bir göz atmak için bir öneri.
Ayrıca, çok önemlisi, XAML kodunun koduna sahip olmadığını ve bir tane kullanamadığımı varsayalım. Bir skin derisi oluşturuyorum ve arkasında bir kod istemiyorum. Bu yüzden sınıf kurucusunda bir sınıf değişkeni ayarlayamıyorum ve referans gösteremiyorum. Belki bu mantıksız, henüz emin değilim.
..? – NotDan
Dönüştürücü, kendisinin bağımlılıklarına sahip olan bir formatlama sınıfında (bağımlı) kullanıldığından ve bu bağımlılıkların her birinin de bağımlılıkları olabilir. Bu, tüm bu bağımlılıkları benim için bir araya getirmek için DI'nin bütün noktasıdır. Pek çok insanın yeni nesneleri kullanmak için kullanıp kullanmadığını ve ana amacı anlamadığını merak ediyorum. – PandaWood