From be39c7cf513601bf89351f5485903a69fa0ba711 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Mon, 25 Jun 2018 00:14:27 +0200 Subject: [PATCH] Don't need TemplateBindingExtension. Can just use TemplateBinding directly. --- .../Avalonia.Markup.Xaml.csproj | 1 - .../TemplateBindingExtension.cs | 55 ------------------- .../PortableXaml/AvaloniaXamlSchemaContext.cs | 1 - .../Avalonia.Markup/Data/TemplateBinding.cs | 9 +++ 4 files changed, 9 insertions(+), 57 deletions(-) delete mode 100644 src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/TemplateBindingExtension.cs diff --git a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj index 9260a0c9a2..cdc22f4102 100644 --- a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj +++ b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj @@ -48,7 +48,6 @@ - diff --git a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/TemplateBindingExtension.cs b/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/TemplateBindingExtension.cs deleted file mode 100644 index 60b2b73558..0000000000 --- a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/TemplateBindingExtension.cs +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) The Avalonia Project. All rights reserved. -// Licensed under the MIT license. See licence.md file in the project root for full license information. - -using System; -using Avalonia.Data; -using Avalonia.Data.Converters; -using Portable.Xaml.Markup; - -namespace Avalonia.Markup.Xaml.MarkupExtensions -{ - [MarkupExtensionReturnType(typeof(IBinding))] - public class TemplateBindingExtension : MarkupExtension - { - public TemplateBindingExtension() - { - } - - public TemplateBindingExtension(AvaloniaProperty property) - { - Property = property; - } - - public override object ProvideValue(IServiceProvider serviceProvider) - { - return new TemplateBinding - { - Converter = Converter, - ConverterParameter = ConverterParameter, - Mode = Mode, - Property = Property, - }; - } - - /// - /// Gets or sets the to use. - /// - public IValueConverter Converter { get; set; } - - /// - /// Gets or sets a parameter to pass to . - /// - public object ConverterParameter { get; set; } - - /// - /// Gets or sets the binding mode. - /// - public BindingMode Mode { get; set; } - - /// - /// Gets or sets the name of the source property on the templated parent. - /// - [ConstructorArgument("property")] - public AvaloniaProperty Property { get; set; } - } -} \ No newline at end of file diff --git a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs index 7de3fcf46a..70402aa764 100644 --- a/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs +++ b/src/Markup/Avalonia.Markup.Xaml/PortableXaml/AvaloniaXamlSchemaContext.cs @@ -166,7 +166,6 @@ namespace Avalonia.Markup.Xaml.PortableXaml { { typeof(Binding), typeof(BindingExtension) }, { typeof(StyleInclude), typeof(StyleIncludeExtension) }, - { typeof(TemplateBinding), typeof(TemplateBindingExtension) }, }; private XamlType GetAvaloniaXamlType(Type type) diff --git a/src/Markup/Avalonia.Markup/Data/TemplateBinding.cs b/src/Markup/Avalonia.Markup/Data/TemplateBinding.cs index 8402d88236..9a5aa41e1f 100644 --- a/src/Markup/Avalonia.Markup/Data/TemplateBinding.cs +++ b/src/Markup/Avalonia.Markup/Data/TemplateBinding.cs @@ -17,6 +17,15 @@ namespace Avalonia.Data private IStyledElement _target; private Type _targetType; + public TemplateBinding() + { + } + + public TemplateBinding(AvaloniaProperty property) + { + Property = property; + } + /// public InstancedBinding Initiate( IAvaloniaObject target,