Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 调用xamarin的目标已引发异常_C#_Xaml_Xamarin_Xamarin.forms_Master Detail - Fatal编程技术网

C# 调用xamarin的目标已引发异常

C# 调用xamarin的目标已引发异常,c#,xaml,xamarin,xamarin.forms,master-detail,C#,Xaml,Xamarin,Xamarin.forms,Master Detail,我正在尝试构建一个主控详细信息页面,但是我一直收到错误“异常已被调用的目标抛出”,并且无法对其进行测试。当我按下登录按钮进入主页(我会附上屏幕截图)后,屏幕就会显示出来,但很明显,屏幕只是停留在主页上 代码:XAML: <?xml version="1.0" encoding="UTF-8"?> <MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="

我正在尝试构建一个主控详细信息页面,但是我一直收到错误“异常已被调用的目标抛出”,并且无法对其进行测试。当我按下登录按钮进入主页(我会附上屏幕截图)后,屏幕就会显示出来,但很明显,屏幕只是停留在主页上

代码:XAML:

<?xml version="1.0" encoding="UTF-8"?>
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" 
                  xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
                  x:Class="RoseySports.Home">





            <MasterDetailPage.Master>

        <ContentPage> 
            <AbsoluteLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">

        <Image AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1"
            Source="background.jpg" Aspect="AspectFill"/>

        <ScrollView AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1">



        <StackLayout>
        <Button Text="Create Activity" TextColor="White" Clicked="Handle_Clicked"/>
            <Button Text="Check Availability" TextColor="White"/>
            <Button Text="Check Invitations" TextColor="White"/>
            <Button x:Name="SMA" Text="Propose Saturday  Morning Activity" TextColor="White"/>
            <Button x:Name="Logout" Text="Logout" Clicked="Handle_Clicked_1" TextColor="White" Margin="20"/>
        </StackLayout>
        </ScrollView>
        </AbsoluteLayout>
            </ContentPage>
                </MasterDetailPage.Master>


            <MasterDetailPage.Detail>

            <ContentPage>

        <AbsoluteLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">

        <Image AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1"
            Source="background.jpg" Aspect="AspectFill"/>

        <ScrollView AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1">

                    <ContentView Padding="10,40,10,10">
        <Button Text="Menu" HorizontalOptions="Start" VerticalOptions="Start" TextColor="White" Clicked="Handle_Clicked_2"/>
                        </ContentView>

        </ScrollView>
        </AbsoluteLayout>


        </ContentPage>

            </MasterDetailPage.Detail>
</MasterDetailPage>

您缺少
内容页
标题

首先,您应该打开Xaml编译器以帮助捕获Xaml问题(在编译时和/或更好的错误消息时,无需查看TargetInvocationException的内部异常)

关于:

虽然编译器在生成时实际上不会捕获此缺少的title属性,但您将在运行时收到错误消息:

`Title property must be set on Master page`
因此,在ContentPage上设置标题:

<ContentPage Title="Some Page Title">

例如:

<MasterDetailPage.Master>
    <ContentPage Title="Some Page Title">
        <AbsoluteLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
            <Image AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1" Source="background.jpg" Aspect="AspectFill"/>
            <ScrollView AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1">
                <StackLayout>
                    <Button Text="Create Activity" TextColor="White" Clicked="Handle_Clicked"/>
                    <Button Text="Check Availability" TextColor="White"/>
                    <Button Text="Check Invitations" TextColor="White"/>
                    <Button x:Name="SMA" Text="Propose Saturday  Morning Activity" TextColor="White"/>
                    <Button x:Name="Logout" Text="Logout" Clicked="Handle_Clicked_1" TextColor="White" Margin="20"/>
                </StackLayout>
            </ScrollView>
        </AbsoluteLayout>
    </ContentPage>
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
    <ContentPage>
        <AbsoluteLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
            <Image AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1" Source="background.jpg" Aspect="AspectFill"/>
                <ScrollView AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1">
                    <ContentView Padding="10,40,10,10">
                        <Button Text="Menu" HorizontalOptions="Start" VerticalOptions="Start" TextColor="White" Clicked="Handle_Clicked_2"/>
                    </ContentView>
                </ScrollView>
        </AbsoluteLayout>
    </ContentPage>
</MasterDetailPage.Detail>


相关信息应位于TargetJournationException的内部异常中。您知道这是为什么吗?我在这个问题上浪费了几个小时,变得非常绝望,我只是在尝试我读到的任何东西。为什么定义一个标题如此重要?无论如何,非常感谢你@AsPas我从来没有看过所有相关的代码,但是异常很早就抛出了(在创建任何本机控件之前),并且假设它与Android的ActionBar相关,并且试图将其标题设置为
null
将是“迟来的”异常,而不是使用/if/else语句来测试
null
,更简单的方法是只对所有平台测试一次,然后假设在以后的代码中它从不
null
(即早期失败与晚期失败编码风格)
<ContentPage Title="Some Page Title">
<MasterDetailPage.Master>
    <ContentPage Title="Some Page Title">
        <AbsoluteLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
            <Image AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1" Source="background.jpg" Aspect="AspectFill"/>
            <ScrollView AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1">
                <StackLayout>
                    <Button Text="Create Activity" TextColor="White" Clicked="Handle_Clicked"/>
                    <Button Text="Check Availability" TextColor="White"/>
                    <Button Text="Check Invitations" TextColor="White"/>
                    <Button x:Name="SMA" Text="Propose Saturday  Morning Activity" TextColor="White"/>
                    <Button x:Name="Logout" Text="Logout" Clicked="Handle_Clicked_1" TextColor="White" Margin="20"/>
                </StackLayout>
            </ScrollView>
        </AbsoluteLayout>
    </ContentPage>
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
    <ContentPage>
        <AbsoluteLayout VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
            <Image AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1" Source="background.jpg" Aspect="AspectFill"/>
                <ScrollView AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0, 0, 1, 1">
                    <ContentView Padding="10,40,10,10">
                        <Button Text="Menu" HorizontalOptions="Start" VerticalOptions="Start" TextColor="White" Clicked="Handle_Clicked_2"/>
                    </ContentView>
                </ScrollView>
        </AbsoluteLayout>
    </ContentPage>
</MasterDetailPage.Detail>