From de2b1925d9287c4c4e7c32686f6fc823616d0c9c Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Tue, 18 Feb 2020 09:45:14 +0100 Subject: [PATCH] Try TypeConverters in TryConvert. Fixes #3584. --- src/Avalonia.Base/Utilities/TypeUtilities.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Avalonia.Base/Utilities/TypeUtilities.cs b/src/Avalonia.Base/Utilities/TypeUtilities.cs index d1393a9c0d..8a25d29c3f 100644 --- a/src/Avalonia.Base/Utilities/TypeUtilities.cs +++ b/src/Avalonia.Base/Utilities/TypeUtilities.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. See licence.md file in the project root for full license information. using System; +using System.ComponentModel; using System.Globalization; using System.Linq; using System.Reflection; @@ -185,6 +186,14 @@ namespace Avalonia.Utilities } } + var typeConverter = TypeDescriptor.GetConverter(to); + + if (typeConverter.CanConvertFrom(from) == true) + { + result = typeConverter.ConvertFrom(null, culture, value); + return true; + } + var cast = FindTypeConversionOperatorMethod(from, to, OperatorType.Implicit | OperatorType.Explicit); if (cast != null)