xamarin/Xamarin.Forms

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

オープン

#5,629 opened on 2019/03/20

 (0 件のコメント) (2 件のリアクション) (0 人の担当者)C# (1,926 件のフォーク)batch import
a/Xaml </>a/binding ⛓e/2 :clock2:good first issuehelp wantedinactivet/bug :bug:up-for-grabs

Repository metrics

Stars
 (5,644 個のスター)
PR merge metrics
 (30d に merged PR はありません)

説明

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

コントリビューターガイド