From f0d807d40bc418ec9b92040692ff784232d19cf9 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 13 Jan 2022 11:26:12 +0100 Subject: [PATCH] Added repro of #2725 to BindingDemo. --- samples/BindingDemo/EnumToEnumerable.cs | 22 +++++++++++++++++++ samples/BindingDemo/MainWindow.xaml | 6 ++++- .../ViewModels/MainWindowViewModel.cs | 6 +++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 samples/BindingDemo/EnumToEnumerable.cs diff --git a/samples/BindingDemo/EnumToEnumerable.cs b/samples/BindingDemo/EnumToEnumerable.cs new file mode 100644 index 0000000000..f16c516a2c --- /dev/null +++ b/samples/BindingDemo/EnumToEnumerable.cs @@ -0,0 +1,22 @@ +using System; +using Avalonia.Markup.Xaml; + +namespace BindingDemo +{ + public class EnumToEnumerable : MarkupExtension + { + private readonly Type _enumType; + + public EnumToEnumerable(Type type) + { + if (!type.IsEnum) + throw new ArgumentException(nameof(type)); + _enumType = type; + } + + public override object ProvideValue(IServiceProvider serviceProvider) + { + return Enum.GetValues(_enumType); + } + } +} diff --git a/samples/BindingDemo/MainWindow.xaml b/samples/BindingDemo/MainWindow.xaml index b583503327..4f0780b21f 100644 --- a/samples/BindingDemo/MainWindow.xaml +++ b/samples/BindingDemo/MainWindow.xaml @@ -4,7 +4,7 @@ xmlns:vm="clr-namespace:BindingDemo.ViewModels" xmlns:local="clr-namespace:BindingDemo" Title="AvaloniaUI Bindings Test" - Width="800" + Width="1000" Height="600" x:DataType="vm:MainWindowViewModel"> @@ -40,6 +40,10 @@ !BooleanString !!BooleanString + + + + diff --git a/samples/BindingDemo/ViewModels/MainWindowViewModel.cs b/samples/BindingDemo/ViewModels/MainWindowViewModel.cs index 18a7a01a69..c9cb2f3e57 100644 --- a/samples/BindingDemo/ViewModels/MainWindowViewModel.cs +++ b/samples/BindingDemo/ViewModels/MainWindowViewModel.cs @@ -115,5 +115,11 @@ namespace BindingDemo.ViewModels { return BooleanFlag; } + + public enum NestedEnum + { + Nested, + Enum, + } } }