I MVVM kullanıyorum ve anında simgesini değiştirebilirsiniz şekilde benim ViewModel Görüntü Kaynağı mülkiyet databind çalışıyorum. Bunun için takip edilecek en iyi model hangisidir? ViewModel'imi uygun şekilde değiştirmek için hala esneklik var, ancak xaml veya ViewModel'de nereden başlayacağımı bilmiyorum. WPF databind Image.Source MVVM
Açık olmak gerekirse, ben, (Görünüm bilmek için işte) benim ViewModel spesifik görüntüler hakkında bilmek farklı resimler tetikler sadece devlet istemiyoruz. Şimdilik sadece iki eyaletim var, Kırmızı ve Yeşil diyelim. Bir Enum özelliği mi yoksa bir bool mu oluşturmalıyım? Ve sonra görüntü kaynağını nasıl değiştirebilirim?
7
A
cevap
10
Bir DataTrigger kullanabilir ve ViewModel bir özelliğin değerini temel resim (tamamen XAML) değiştirebilirsiniz. Ben şahsen, birden fazla eyalet isteyebileceğinizden, bir enum kullanırdım.
VisualStateManager yanı bunun için çalışacaktır ancak WPF Futures veya .NET 4.bir DataTrigger kullanmak için, aşağıdaki gibi bir şey yapabilirsiniz gerektirecektir
:
<Image>
<Image.Style>
<Style TargetType="Image">
<Setter Property="Source" Value="1.png" />
<Style.Triggers>
<DataTrigger Binding="{Binding ViewModelEnumProperty}" Value="Image2">
<Setter Property="Source" Value="2.png" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
Bu "kullanacak 1.png ", ancak enum, VM'de" Image2 "ye ayarlandığında, 2.png'ye geçer. Daha fazla DataTriggers gerektiği gibi eklenebilir.
İlgili konular
- 1. WPF Ayar Image.Source from DataTrigger
- 2. WPF, MVVM
- 3. WPF: MVVM
- 4. wpf databind IsVisible için TabControl.SelectedItem! = Null
- 5. WPF DataGrid (MVVM) için ScrollIntoView (MVVM)
- 6. WPF ve MVVM. Olaylar
- 7. WPF MVVM servis katmanı
- 8. MVVM WPF - Giriş Mantığı
- 9. WPF ve MVVM
- 10. Kullanıcı arayüzünü MVVM WPF
- 11. Basit WPF + MVVM bağlayıcı
- 12. WPF MVVM Veritabanı ile Örnekler
- 13. MVVM, WPF Uygulamalarında yerelleştirmeye uyuyor
- 14. WPF, MVVM, iCommand ve depoları
- 15. WPF MVVM uygulamasında DbContext'i yönetme
- 16. MVVM
- 17. MVVM?
- 18. MVVM
- 19. Prism'de FolderBrowserDialog nasıl oluşturulur 6 WPF MVVM uygulaması? Benim WPF MVVM Prizma 6 uygulamasında
- 20. Tetikleyiciyi kullanarak görüntüyü değiştirin WPF MVVM
- 21. Uygulama MVVM Işık araç seti WPF Unity
- 22. WPF MVVM, datagrid seçilen satırları alır
- 23. WPF ve MVVM modeli ve viewModel ayırma
- 24. C# ile image.source nasıl değiştirebilirim?
- 25. Jackson Databind sınıf yolu sorunu
- 26. MVVM Kalıbı
- 27. ListView + MultipleSelect + MVVM =?
- 28. MVVM
- 29. MVVM
- 30. MVVM Foundation vs MVVM Toolkit
Kullanıyorum. Net 4. Bu konuda biraz daha ayrıntılı olabilir misiniz? Belki bir örnek? – BrettRobi
İkinci Reed'in çözümü. Görünümünüzde bir enum ve görünümünüzde bir datatrigger kullanın. http://msdn.microsoft.com/en-us/library/system.windows.datatrigger.aspx –
@BrettRobi: işte –