diff --git a/src/Markup/Avalonia.Markup/Data/Plugins/MethodAccessorPlugin.cs b/src/Markup/Avalonia.Markup/Data/Plugins/MethodAccessorPlugin.cs
index c602fa4f4d..db0d3e0299 100644
--- a/src/Markup/Avalonia.Markup/Data/Plugins/MethodAccessorPlugin.cs
+++ b/src/Markup/Avalonia.Markup/Data/Plugins/MethodAccessorPlugin.cs
@@ -82,11 +82,6 @@ namespace Avalonia.Markup.Data.Plugins
}
catch { }
}
-
- private void SendCurrentValue()
- {
-
- }
}
}
}
diff --git a/src/Markup/Avalonia.Markup/DefaultValueConverter.cs b/src/Markup/Avalonia.Markup/DefaultValueConverter.cs
index bb6bd85827..28d64eb561 100644
--- a/src/Markup/Avalonia.Markup/DefaultValueConverter.cs
+++ b/src/Markup/Avalonia.Markup/DefaultValueConverter.cs
@@ -35,7 +35,7 @@ namespace Avalonia.Markup
return AvaloniaProperty.UnsetValue;
}
- if (typeof(ICommand).IsAssignableFrom(targetType) && value is Delegate d)
+ if (typeof(ICommand).IsAssignableFrom(targetType) && value is Delegate d && d.Method.GetParameters().Length <= 1)
{
return new AlwaysEnabledDelegateCommand(d);
}
diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Data/BindingTests_Method.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Data/BindingTests_Method.cs
new file mode 100644
index 0000000000..031f14d686
--- /dev/null
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/Data/BindingTests_Method.cs
@@ -0,0 +1,106 @@
+// 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.Reactive.Subjects;
+using System.Windows.Input;
+using Avalonia.Controls;
+using Avalonia.Input;
+using Avalonia.UnitTests;
+using Xunit;
+
+namespace Avalonia.Markup.Xaml.UnitTests.Data
+{
+ public class BindingTests_Method
+ {
+ [Fact]
+ public void Binding_Method_To_Command_Works()
+ {
+ using (UnitTestApplication.Start(TestServices.StyledWindow))
+ {
+ var xaml = @"
+
+
+";
+ var loader = new AvaloniaXamlLoader();
+ var window = (Window)loader.Load(xaml);
+ var button = window.FindControl