【问题标题】:How do I fix this exception when including a button in XAML in Xamarin forms?在 Xamarin 表单中的 XAML 中包含按钮时,如何解决此异常?
【发布时间】:2015-09-18 09:22:39
【问题描述】:

我是 XAML 和 Xamarin 的新手,想在我的 android 设备上构建一个测试应用程序。在第一页上有一个指向另一个页面的按钮。这是一段 C# 代码 HomePage.xaml.cs:

public void Clicked(object sender, EventArgs ea)
{
    Navigation.PushModalAsync (new SecondPage ());
}

在第二页上,我想加载一个图像和一个按钮,但只要我包含按钮,运行应用程序时就会出现此异常:java.lang.reflect.InvocationTargetException。没有按钮,一切正常。下面是图片的xaml代码和第二页的按钮:

<Image  Source = "image.png" 
            x:Name="image"
            VerticalOptions="Start">
    <Image.GestureRecognizers>
            <TapGestureRecognizer
            Tapped="ImageTapped"/>
    </Image.GestureRecognizers>
</Image>
<Button Text="Text"
            BackgroundColor="Aqua"
            TextColor="White"
            VerticalOptions="EndAndExpand"/>

这里是“ImageTapped”函数的C#代码:

public void ImageTapped(object sender, EventArgs ea)
{
    image.IsVisible = false;
}

我不知道我做错了什么,如果有人可以的话,我会非常感激!

【问题讨论】:

  • 异常给出的错误信息是什么?发布完整的错误消息。

标签: c# xaml exception xamarin xamarin.forms


【解决方案1】:

在使用&lt;ContentPage.Content&gt; 之前,我刚刚使用&lt;StackLayout&gt;&lt;/StackLayout&gt; 解决了这个问题。

【讨论】:

  • FYI 在 Xamarin.Forms 中,页面应该只包含一个视图。但是尝试添加 2 个视图的上行情况是错误的。使用像 Grid、StackLayout、RelativeLayout、AbsoluteLayout 这样的容器可以解决这个问题(视图可能有多个子级)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-19
相关资源
最近更新 更多