我找到的所有ValueConverter示例用於創建ValueConverter實例的資源。但是我的ValueConverter使用了一些由IoC框架解決的依賴關係。所以我想將Binding Converter屬性設置爲可通過DataContext訪問的ViewModel的某些屬性。我試圖做到這一點,但得到了一個異常,告訴我不能綁定任何綁定的Converter屬性。將ValueModel屬性注入爲ValueConverter
0
A
回答
2
不能綁定Binding.Converter
,因爲它不是一個依賴項屬性,但你可以從DependencyObject
使轉換器繼承並宣佈對dependency properties代替,那麼你可以綁定的。
但請注意,您可能需要跳過一些環節才能獲得所需的結果,因爲您無法綁定到DataContext
。您可能無法使用ElementName,因爲轉換器將沒有名稱範圍。一種常見的解決方法是使用Binding.Source
和x:Reference
以正確的DataContext爲目標。確保不聲明在目標對象的可視化樹內實例化轉換器,否則x:Reference
將引發循環依賴性錯誤(目標對象的Resources
正常)。
相關問題
- 1. 注入屬性?
- 2. ValueConverter上的依賴項屬性
- 3. NserviceBus屬性注入
- 4. Autofac惰性屬性注入
- 5. SimpleInjector不使用隱式注入屬性注入屬性
- 6. 不使用屬性的屬性注入[注入]與Ninject
- 7. 將屬性注入非託管Spring xml
- 8. 將註冊表值讀入屬性
- 9. spring - 將屬性注入pojo類
- 10. 將屬性注入到itemrenderer中
- 11. 將屬性注入到log4net的LoggingEvent中
- 12. 將屬性注入Web API的`System.Web.Http.Filters.ActionFilterAttribute`
- 13. 將屬性注入到JPA orm.xml中?
- 14. 將屬性注入到QuartzJobObject中
- 15. Autofac屬性注入屬性失敗
- 16. C#MEF設置屬性/屬性注入
- 17. 爲什麼StructureMap不注入屬性?
- 18. 指令範圍屬性注入行爲
- 19. 彈簧注入Bean屬性爲空
- 20. Ninject注入的屬性仍然爲空
- 21. @Value不注入屬性,保持爲null
- 22. 將Dispatcher注入ViewModel - 重構Unity - 屬性注入
- 23. ValueConverter爲WPF的IsChecked屬性切換按鈕
- 24. 將驗證屬性注入驗證屬性Web Api Asp.Net Core
- 25. 註冊屬性作爲依賴屬性
- 26. jquery屬性注入索引
- 27. Ninject WCF:屬性注入
- 28. EJB3.1屬性文件注入
- 29. 注入靜態屬性值
- 30. 用Spring注入屬性?
爲什麼不只是將您的DataContext中的值轉換,然後綁定到轉換後的值? – Rachel
@Rachel,因爲ValueConverter從ViewModel傳遞的點創建WriteableBitmap。我想保持UI部分(WriteableBitmap)在視圖級別 – SiberianGuy
您應該保持轉換器在視圖級別,因爲這就是他們的目的 - 將數據從一種類型轉換爲另一種類型的用戶界面。如果您需要轉換一個參數,請使用「IValueConverter」,但如果您有多個轉換所需的值,請使用「IMultiValueConverter」 – Rachel