[英]Xamarin Forms XAML OnPlatform VerticalOptions
我正在尝试做的事情似乎很简单,但到目前为止,我一直在找一个小时没有运气。
我有以下XAML
<StackLayout Grid.Row="2" Margin="20,20,20,20">
<StackLayout.VerticalOptions>
<OnPlatform x:TypeArguments="x:String">
<On Platform="Android" Value="CenterAndExpand" />
<On Platform="iOS" Value="EndAndExpand" />
</OnPlatform>
</StackLayout.VerticalOptions>
</StackLayout>
但是它给出了一个错误:
Cannot assign property VerticalOptions, property does not exists, or is not assignable, or mismatching type between value and property
我已经成功完成了相同的操作,但是对于x:Boolean,x:Double和Thickness类型的其他属性...出于好奇,我也一直在尝试寻找一些文档来概述所有可用的x:TypeArguments作为参考,但仍然也没有运气
你的问题在这一行
<OnPlatform x:TypeArguments="x:String">
您说的是值,但是它是LayoutOptions
类型。 所以改变它,它的工作原理是:
<StackLayout Margin="20,20,20,20">
<StackLayout.VerticalOptions>
<OnPlatform x:TypeArguments="LayoutOptions">
<On Platform="Android" Value="CenterAndExpand" />
<On Platform="iOS" Value="EndAndExpand" />
</OnPlatform>
</StackLayout.VerticalOptions>
</StackLayout>
在Xamarin文档中,您可以看到VerticalOption
是LayoutOption
:
句法
公共LayoutOptions VerticalOptions {get; 组; }
值
一个LayoutOptions,它定义如何布局元素。 除非另有说明,否则默认值为LayoutOptions.Fill。
希望对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.