【发布时间】:2018-03-11 10:44:18
【问题描述】:
我创建了一个新的 Xamarin.Forms 移动应用程序,我唯一做的就是将 .xaml 文件中的默认 Welcome to xamarin 标签替换为:
<Grid Margin="0,20,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>>
<ColumnDefinition Width="*"/>>
<ColumnDefinition Width="*"/>>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Label Text="You are: (X)" Grid.Row="0" Grid.Column="0" Margin="5"/>
<Label Text="Your opponent is: (O)" Grid.Row="0" Grid.Column="2" Margin="5" HorizontalTextAlignment="End"/>
</Grid>
预览器不适用于 android 或 ios 预览,当我运行程序时,我在这行代码中得到一个 System.InvalidCastException,它已经在预生成的代码中:global::Xamarin.Forms.Xaml.Extensions.LoadFromXaml(this, typeof(ticTactTestPage));
我还是一个初学者,所以我对此进行了一些 goole 搜索,并且大多数时候异常是在开发人员编写的代码中引发的,但是在这种情况下,我除了删除 <Label Text="Welcome to Xamarin!"/> 之外什么都没做.xaml 文件。谁能帮忙解决这个问题?
编辑 1:用户建议将标签移动到 <Grid><Grid/> 内部,因为我最初将它们放在外面。但是,问题仍然存在。
【问题讨论】:
-
从非常简短的代码来看,您的标签似乎在
之外,这可能是您的问题的原因 -
@Ale_lipa 感谢您的回复,我更改了代码,以便标签在里面并且没有运气。同样的结果。我要更新问题,所以没有其他人提供该解决方案。再次感谢。
-
另一件事是您的 ColumnDefinitions 有问题(例如 ColumnDefinition Width="*"/>>)。删除第二个右括号'>'
-
从列定义中删除多余的 >
> -
代码现在运行,我是个傻瓜哈哈。谢谢。
标签: c# xamarin xamarin.forms