xamarin/Xamarin.Forms

[Xaml] Missing platform/idiom value in OnPlatform/OnIdiom causes ArgumentNullException when type is x:BindingBase

Aperta

#5629 aperta il 20 mar 2019

 (0 commenti) (2 reazioni) (0 assegnatari)C# (1926 fork)batch import
a/Xaml </>a/binding ⛓e/2 :clock2:good first issuehelp wantedinactivet/bug :bug:up-for-grabs

Metriche repository

Star
 (5644 stelle)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

Description

Missing platform/idiom value in OnPlatform/OnIdiom causes ArgumentNullException when type is x:BindingBase.

Steps to Reproduce

  1. for example: <StackLayout> <StackLayout.IsEnabled> <OnPlatform x:TypeArguments="BindingBase" iOS="{Binding Source=False}"/> </StackLayout.IsEnabled> </StackLayout>

  2. run it on any non-iOS platform.

Expected Behavior

don't try to set any binding or value for IsEnabled on any other platform than iOS.

Actual Behavior

[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentNullException: Value cannot be null. Parameter name: binding at (wrapper dynamic-method) System.Object.7(intptr,intptr,intptr) at (wrapper native-to-managed) System.Object.7(intptr,intptr,intptr)

Basic Information

  • Version with issue: 3.6.0
  • IDE: VS 15.9.8
  • Platform Target Frameworks: Xamarin.Forms

Guida contributor