Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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# 无法将ContentPage类型的对象强制转换为ContentPage类型_C#_Xamarin_Casting - Fatal编程技术网

C# 无法将ContentPage类型的对象强制转换为ContentPage类型

C# 无法将ContentPage类型的对象强制转换为ContentPage类型,c#,xamarin,casting,C#,Xamarin,Casting,因此,我目前正在开发我的第一个Xamarin应用程序。 我有一个带有菜单的MasterDetailPage,当您单击下面左侧的一个菜单项时,我将正在使用的对象保存(到文件系统),我为他们选择的页面创建一个新的“ContentPage”,并将该对象作为构造函数参数传入 然后我尝试将MasterDetailPage细节对象设置为(ContentPage)obj,这是他们选择的内容页的强制转换 现在您可以看到,JobDetails的基础是ContentPage,但我无法将其转换为ContentPag

因此,我目前正在开发我的第一个Xamarin应用程序。 我有一个带有菜单的MasterDetailPage,当您单击下面左侧的一个菜单项时,我将正在使用的对象保存(到文件系统),我为他们选择的页面创建一个新的“ContentPage”,并将该对象作为构造函数参数传入

然后我尝试将MasterDetailPage细节对象设置为(ContentPage)obj,这是他们选择的内容页的强制转换

现在您可以看到,JobDetails的基础是ContentPage,但我无法将其转换为ContentPage

我也试着去翻页,但是没有用

在铸造方面,我是否缺少一些基础知识,或者这里发生了其他事情?

我已经解决了这个问题。 问题不在于内容页面的转换(从obj>内容页面转换),而是因为我在JobDetails页面中有一些不正确的xaml

令人不快的xaml是一个

<ListView Grid.Row="3" Grid.ColumnSpan="2" Grid.Column="0" x:Name="KeySkillsList">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"></RowDefinition>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"></ColumnDefinition>
                                <ColumnDefinition Width="Auto"></ColumnDefinition>
                            </Grid.ColumnDefinitions>

                            <Label Grid.Row="0" Grid.Column="0"  Text="{Binding Name, Mode=TwoWay}"></Label>

                            <Switch Grid.Row="0" Grid.Column="1" IsToggled="{Binding Value, Mode=TwoWay}"></Switch>
                        </Grid>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>

这是因为我误解了列表视图(和开关!) 真正令人不快的一行是,注释掉了页面上的作品

我现在已经改变了这一点,所以它只是一个普通的列表视图,带有一个switchcell和一个Text属性