Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EventToCommand EventName="TextChanged" crashes the application #6

Open
oskaremil opened this issue Sep 1, 2015 · 0 comments
Open

Comments

@oskaremil
Copy link

See https://github.com/oskaremil/Corcav.Behaviors/commit/285e871e65cdce6faaec9dfc61a0e9b660694b2b

I made a small alteration in your Demo project

  1. Bind First Name Entry to FirstName property
  2. Changed the second EventToCommand to the controls TextChanged event
  3. Run

As firstName is set when the ViewModel is loaded, it will trigger the TextChanged event when the context is updated. That will cause an exception to be thrown:

09-01 15:16:32.435 I/MonoDroid(29060): UNHANDLED EXCEPTION:
09-01 15:16:32.437 I/MonoDroid(29060): System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: No command available, Is Command properly properly set up?
09-01 15:16:32.437 I/MonoDroid(29060): at Corcav.Behaviors.EventToCommand.OnFired () <IL 0x0002d, 0x000db>
09-01 15:16:32.437 I/MonoDroid(29060): at (wrapper dynamic-method) object.lambda_method (System.Runtime.CompilerServices.Closure,object,Xamarin.Forms.TextChangedEventArgs) <IL 0x0000d, 0x0003f>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.Entry.OnTextChanged (Xamarin.Forms.BindableObject,object,object) <IL 0x00027, 0x000f2>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.BindableObject.SetValueActual (Xamarin.Forms.BindableProperty,Xamarin.Forms.BindableObject/BindablePropertyContext,object,bool,Xamarin.Forms.BindableObject/SetValueFlags,bool) <IL 0x00115, 0x004c1>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.BindableObject.SetValueCore (Xamarin.Forms.BindableProperty,object,Xamarin.Forms.BindableObject/SetValueFlags,Xamarin.Forms.BindableObject/SetValuePrivateFlags) <IL 0x0016d, 0x0066b>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.BindingExpression.ApplyCore (object,Xamarin.Forms.BindableObject,Xamarin.Forms.BindableProperty,bool) <IL 0x00213, 0x00ab7>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.BindingExpression.Apply (object,Xamarin.Forms.BindableObject,Xamarin.Forms.BindableProperty) <IL 0x0007a, 0x002bf>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.Binding.Apply (object,Xamarin.Forms.BindableObject,Xamarin.Forms.BindableProperty) <IL 0x0004b, 0x001ab>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.BindableObject.ApplyBindings (object,bool) <IL 0x00042, 0x0011b>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.BindableObject.ApplyBindings (object) <IL 0x00003, 0x00033>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.BindableObject.SetInheritedBindingContext (Xamarin.Forms.BindableObject,object) <IL 0x00061, 0x001a3>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.Element.OnBindingContextChanged () <IL 0x00018, 0x0009b>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.View.OnBindingContextChanged () <IL 0x0003b, 0x0017b>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.BindableObject.SetInheritedBindingContext (Xamarin.Forms.BindableObject,object) <IL 0x00067, 0x001bb>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.Element.set_Parent (Xamarin.Forms.Element) <IL 0x0006f, 0x00257>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.Element.OnChildAdded (Xamarin.Forms.Element) <IL 0x00002, 0x00033>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.Page.OnInternalAdded (Xamarin.Forms.VisualElement) <IL 0x00015, 0x000a6>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.Page.InternalChildrenOnCollectionChanged (object,System.Collections.Specialized.NotifyCollectionChangedEventArgs) <IL 0x00061, 0x00247>
09-01 15:16:32.437 I/MonoDroid(29060): at System.Collections.ObjectModel.ObservableCollection`1<Xamarin.Forms.Element>.OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedEventArgs) <0x0007b>
09-01 15:16:32.437 I/MonoDroid(29060): at System.Collections.ObjectModel.ObservableCollection`1<Xamarin.Forms.Element>.OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedAction,object,int) <0x00083>
09-01 15:16:32.437 I/MonoDroid(29060): at System.Collections.ObjectModel.ObservableCollection`1<Xamarin.Forms.Element>.InsertItem (int,Xamarin.Forms.Element) <0x000cb>
09-01 15:16:32.437 I/MonoDroid(29060): at System.Collections.ObjectModel.Collection`1<Xamarin.Forms.Element>.Add (Xamarin.Forms.Element) <0x000c3>
09-01 15:16:32.437 I/MonoDroid(29060): at Xamarin.Forms.ContentPage.set_Content (Xamarin.Forms.View) <IL 0x0004a, 0x00127>
09-01 15:16:32.437 I/MonoDroid(29060): at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) <0x00012>
09-01 15:16:32.437 I/MonoDroid(29060): at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <IL 0x0004a, 0x0017f>
09-01 15:16:32.437 I/MonoDroid(29060):   --- End of inner exception stack trace ---
09-01 15:16:32.437 I/MonoDroid(29060):   at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00062] in <filename unknown>:0 
09-01 15:16:32.437 I/MonoDroid(29060):   at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
09-01 15:16:32.437 I/MonoDroid(29060):   at Xamarin.Forms.Xaml.ApplyPropertiesVisitor.SetPropertyValue (System.Object xamlelement, XmlName propertyName, System.Object value, Xamarin.Forms.BindableObject rootElement, INode node, Xamarin.Forms.Xaml.HydratationContext context, IXmlLineInfo lineInfo) [0x003e7] in <filename unknown>:0 
09-01 15:16:32.437 I/MonoDroid(29060):   at Xamarin.Forms.Xaml.ApplyPropertiesVisitor.Visit (Xamarin.Forms.Xaml.ElementNode node, INode parentNode) [0x00215] in <filename unknown>:0 
09-01 15:16:32.437 I/MonoDroid(29060):   at Xamarin.Forms.Xaml.ElementNode.Accept (IXamlNodeVisitor visitor, INode parentNode) [0x000b5] in <filename unknown>:0 
09-01 15:16:32.437 I/MonoDroid(29060):   at Xamarin.Forms.Xaml.RootNode.Accept (IXamlNodeVisitor visitor, INode parentNode) [0x00067] in <filename unknown>:0 
09-01 15:16:32.437 I/MonoDroid(29060):   at Xamarin.Forms.Xaml.XamlLoader.Load (Xamarin.Forms.BindableObject view, System.String xaml) [0x000cd] in <filename unknown>:0 
09-01 15:16:32.437 I/MonoDroid(29060):   at Xamarin.Forms.Xaml.XamlLoader.Load (Xamarin.Forms.BindableObject view, System.Type callingType) [0x0002b] in <filename unknown>:0 
09-01 15:16:32.437 I/MonoDroid(29060):   at Xamarin.Forms.Xaml.Extensions.LoadFromXaml[Settings] (Foo.BasMobile.Client.Views.Login.Settings view, System.Type callingType) [0x00000] in <filename unknown>:0 
09-01 15:16:32.437 I/MonoDroid(29060):   at Foo.BasMobile.Client.Views.Login.Settings.InitializeComponent () [0x00001] in C:\Workspace\Foo-Basmobile-client\Foo.BasMobile.Client\Foo.BasMobile.Client\obj\Debug\Foo.BasMobile.Client.Views.Login.Settings.xaml.g.cs:21 
09-01 15:16:32.437 I/MonoDroid(29060):   at Foo.BasMobile.Client.Views.Login.Settings..ctor () [0x00014] in C:\Workspace\Foo-Basmobile-client\Foo.BasMobile.Client\Foo.BasMobile.Client\Views\Login\Settings.xaml.cs:11 
09-01 15:16:32.437 I/MonoDroid(29060):   at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
09-01 15:16:32.437 I/MonoDroid(29060):   at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00002] in <filename unknown>:0 
09-01 15:16:32.437 I/MonoDroid(29060):   --- End of inner exception stack trace ---
09-01 15:16:32.437 I/MonoDroid(29060):   at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x0001c] in <filename unknown>:0 
09-01 15:16:32.437 I/MonoDroid(29060):   at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x000af] in <filename unknown>:0 
09-01 15:16:32.437 I/MonoDroid(29060):   at System.Activator.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0 
09-01 15:16:32.437 I/MonoDroid(29060):   at Xamarin.Forms.Xaml.CreateValuesVisitor.Visit (Xamarin.Forms.Xaml.ElementNode node, INode parentNode) [0x0018b] in <filename unknown>:0 
09-01 15:16:32.442 W/art     (29060): JNI RegisterNativeMethods: attempt to register 0 native methods for md52ce486a14f4bcd95899665e9d932190b.JavaProxyThrowable
09-01 15:16:32.443 D/AndroidRuntime(29060): Shutting down VM
An unhandled exception occured.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant