2016-04-14 22 views
2

Ich versuche, ein einfaches DataTrigger Element in der XAML einer Xamarin Forms-Seite zu verwenden:Xamarin Forms Datatrigger Nullreferenceexception verursacht

<Frame BackgroundColor="Red" HorizontalOptions="Fill" VerticalOptions="FillAndExpand"> 
    <Frame.Triggers> 
     <DataTrigger TargetType="Frame" Binding="{Binding IsValid}" Value="True"> 
      <Setter Property="BackgroundColor" Value="{x:Static Color.Lime}" /> 
     </DataTrigger> 
    </Frame.Triggers> 
</Frame> 

Diese Konfiguration stürzt die Anwendung mit dem, was effektiv eine NullReferenceException:

Java.Lang.NullPointerExceptionAttempt zum Aufrufen der virtuellen Methode 'boolean android.graphics.Bitmap.isMutable()' für eine Nullobjekt-Referenz

Wenn ich im obigen Beispiel die Setter auskommentieren, wird die Anwendung normal ausgeführt, aber der Trigger funktioniert natürlich nicht.

Kann mir bitte jemand vorschlagen, was ich falsch mache?

+0

Kann nicht reproduziert werden. Welche Versionen (Xamarin.Forms, Android) verwendest du? –

Antwort

6

Es gefunden!

Ich habe mir die dekompilierte Version angesehen. Das ist ein Fehler, der auftritt, wenn der Rahmen eine Höhe von 0.

enter image description here

hat und dies bewirkt, dass der Fehler in FrameOnPropertyChanged

enter image description here

Hinzufügen Padding="1" oder HeightRequest="1" WidthRequest="1" zu Ihrem Rahmen soll es beheben , außer dass etwas dazu zwingt, auf 0 zu drücken.