From e6cd080081f8e55f965ae18a31c48b2f06cca169 Mon Sep 17 00:00:00 2001 From: donandren Date: Sat, 4 Mar 2017 10:38:57 +0200 Subject: [PATCH] support Attached property in property type converter --- .../AvaloniaPropertyTypeConverter.cs | 3 ++- .../Xaml/BasicTests.cs | 27 ++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs b/src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs index f6508230e7..ef757f61ac 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs +++ b/src/Markup/Avalonia.Markup.Xaml/Converters/AvaloniaPropertyTypeConverter.cs @@ -48,7 +48,8 @@ namespace Avalonia.Markup.Xaml.Converters } else { - //type = context.TypeRepository.GetByQualifiedName(typeName)?.UnderlyingType; + var typeResolver = context.GetService(); + type = typeResolver.Resolve(typeName); if (type == null) { diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs index 7e7d5fb917..6586b7ee5b 100644 --- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs +++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs @@ -221,6 +221,31 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml Assert.Equal(100.0, setters[1].Value); } + [Fact] + public void Style_Setter_With_AttachedProperty_Is_Parsed() + { + var xaml = @" + + +"; + + var styles = AvaloniaXamlLoader.Parse(xaml); + + Assert.Equal(1, styles.Count); + + var style = (Style)styles[0]; + + var setters = style.Setters.Cast().ToArray(); + + Assert.Equal(1, setters.Length); + + Assert.Equal(TextBlock.FontSizeProperty, setters[0].Property); + Assert.Equal(21.0, setters[0].Value); + } + [Fact] public void Complex_Style_Is_Parsed() { @@ -317,7 +342,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml var xaml = @" - + "; var styles = AvaloniaXamlLoader.Parse(xaml);