Skip to content

[Bug]: iOS BindCommand throws exception when executing on iPad (device) #3877

Open
@yvcabrerago

Description

@yvcabrerago

Describe the bug 🐞

Using Avalonia 11.0.10, when binding a command using BindCommand in the code behind of the view as follows:

public MainView()
{
    this.WhenActivated(disposed =>
    {
        this.BindCommand(ViewModel, vm => vm.MyCommand, v => v.Button).DisposeWith(disposed);
    });
    
    InitializeComponent();
}

The following exception is being throw:

Terminating app due to uncaught exception 'System.ArgumentException', reason: 'Property set method not found. (System.ArgumentException)
at System.Reflection.RuntimePropertyInfo.SetValue(Object , Object , BindingFlags , Binder , Object[] , CultureInfo )
at System.Reflection.PropertyInfo.SetValue(Object obj, Object value, Object[] index)
at ReactiveUI.CreatesCommandBindingViaCommandParameter.BindCommandToObject(ICommand command, Object target, IObservable1 commandParameter) in /_/src/ReactiveUI/Bindings/Command/CreatesCommandBindingViaCommandParameter.cs:line 60 at ReactiveUI.CreatesCommandBinding.BindCommandToObject(ICommand command, Object target, IObservable1 commandParameter) in /_/src/ReactiveUI/Bindings/Command/CreatesCommandBinding.cs:line 39

Step to reproduce

  1. Create a Cross Platform Avalonia Application.
  2. Create a ReactiveCommand and bind to a control in the code behing file of the view.
  3. Run the app using a iPad.

Reproduction repository

https://github.com/yvcabrerago/AvaloniaReactiveApplication

Expected behavior

The application should not crash.

Screenshots 🖼️

No response

IDE

Rider macOS

Operating system

No response

Version

No response

Device

IPad 10th generation, IPadOS 17.1.1

ReactiveUI Version

18.3.1

Additional information ℹ️

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions