Xamarin Forms DataTrigger 导致 NullReferenceException
Xamarin Forms DataTrigger causes NullReferenceException
我正在尝试在 Xamarin Forms 页面的 XAML 中使用一个简单的 DataTrigger
元素:
<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>
此配置使应用程序崩溃,实际上是 NullReferenceException
:
Java.Lang.NullPointerExceptionAttempt to invoke virtual method 'boolean android.graphics.Bitmap.isMutable()' on a null object reference
如果我在上面的示例中注释掉 Setter
,应用程序运行正常,但是,当然,触发器不起作用。
任何人都可以告诉我做错了什么吗?
找到了!
我看了反编译版。这是当框架的高度为0时出现的错误。
这会导致 FrameOnPropertyChanged
中的错误
将 Padding="1"
或 HeightRequest="1" WidthRequest="1"
添加到您的 Frame 应该可以修复它,除非有一些东西迫使它为 0。
我正在尝试在 Xamarin Forms 页面的 XAML 中使用一个简单的 DataTrigger
元素:
<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>
此配置使应用程序崩溃,实际上是 NullReferenceException
:
Java.Lang.NullPointerExceptionAttempt to invoke virtual method 'boolean android.graphics.Bitmap.isMutable()' on a null object reference
如果我在上面的示例中注释掉 Setter
,应用程序运行正常,但是,当然,触发器不起作用。
任何人都可以告诉我做错了什么吗?
找到了!
我看了反编译版。这是当框架的高度为0时出现的错误。
这会导致 FrameOnPropertyChanged
将 Padding="1"
或 HeightRequest="1" WidthRequest="1"
添加到您的 Frame 应该可以修复它,除非有一些东西迫使它为 0。