是什麼類型轉換器和標記擴展是什麼在WPF
是什麼在WPF
回答
類型轉換器用於一種類型的隱式轉換到另一個的區別類型轉換器和標記擴展之間的區別。例如,BrushConverter可以將字符串「紅色」轉換爲其Color屬性設置爲紅色的SolidColorBrush。正如在這種情況下:
<Button Background="Red" />
MarkupExtension允許您爲屬性提供更多自定義值。還有一些特殊的標記擴展,Binding,MultiBinding和DynamicResource。這些不僅僅提供靜態值,而是提供更多動態值。
因此,您可以構建標記擴展來執行與類型轉換器相同的操作,但您必須明確地使用它們,而不是類型轉換器的隱含特性。
A TypeConverter旨在將一種類型轉換爲另一種類型。有幾個提供的開箱即用,如BrushConverter,ColorConverter,BooleanConverter等等。請參閱here獲取完整列表。什麼是偉大的關於類型轉換器是,他們可以通過在類定義使用以下atttribute定義適用於屬性定義...
[TypeConverterAttribute(typeof(BrushConverter)]
public Brush Background
{
...
}
...的BrushConverter實施知道,如果它接收一個字符串作爲輸入它應該嘗試並將其轉換爲已知顏色的SolidBrush實例。這意味着,你的XAML並不需要分配一個實際SolidBrushes.Red參考屬性,而是使用一個簡單的字符串...
<Button Background="Red" />
...這是更快編寫和理解。然而,TypeConverter是ALWAYS調用屬性分配,並且您不能阻止XAML導致TypeConverter被調用。
A MarkupExtension用於返回一個對象,然後將該對象分配給指定的屬性。這更加靈活,因爲您可以決定何時何地使用MarkupExtension,並且不會將其限制爲事先用屬性標記的特定屬性。標記extesions的例子是綁定,StaticResource和DynamicResource。
因此,類型轉換器非常適合特定類型的特定屬性,您希望接受比類型本身定義的更大範圍的值。標記擴展非常適合開發人員決定何時何地使用它的更一般用途
- 1. 什麼是WPF?
- 2. .NET:什麼是WPF?
- 3. 什麼是WPF GUI負責?
- 4. WPF究竟是什麼?
- 5. WPF PresentationFontCache。這是什麼?
- 6. 是什麼在滾動區域用WPF
- 7. 什麼是WPF中的「OnIdle」相當於
- 8. 什麼是WPF等價於ControlPaint.Light?
- 9. 什麼是WPF中的觸摸事件?
- 10. 什麼是WPF中包URI的權限?
- 11. WPF中的mc:Ignorable =「d」是什麼意思?
- 12. 什麼是WPF中的x:東西?
- 13. 什麼是WPF的等價函數?
- 14. 什麼是WPF預覽事件?
- 15. 什麼是DocumentCompleted的WPF等價物?
- 16. WPF/Prism:什麼是UNITY容器?
- 17. WPF,爲什麼操縱不是reposnsive?
- 18. 什麼是WinForms Drawing.rectangle.union的WPF等價物?
- 19. 什麼是WPF中的依賴屬性
- 20. 什麼是各種WPF綁定模式?
- 21. 這個WPF綁定是什麼意思?
- 22. WPF中的SnapsToDevicePixels是什麼意思?
- 23. WPF MVVM - 什麼是內樹型視圖
- 24. 什麼是Control.MouseButtons的WPF版本?
- 25. 什麼是WPF最糟糕的問題?
- 26. WPF:什麼是DataGrid的TextSearch.TextPath的版本?
- 27. C#WPF應用程序:什麼是「this」?
- 28. WPF中StatusBarItem類的要點是什麼?
- 29. XAML/WPF中UserControls的問題是什麼?
- 30. 什麼是Silverlight與WPF的關係?