我试图在StackLayout内的同一行添加三个按钮图像。
第一个按钮图像没有显示任何错误,但问题出在其他两个按钮上。
以下是代码:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1.5*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="auto"/>
<RowDefinition Height ="auto"/>
</Grid.RowDefinitions>
<StackLayout Grid.Row="0" HorizontalOptions="Center" VerticalOptions="Center">
<Image HorizontalOptions="Center" VerticalOptions="Center" Source="loginlogo.png"/>
</StackLayout>
<StackLayout Padding="5" Spacing="5" Grid.Row="1">
<StackLayout>
<Label Text ="editor is used for collecting text that is expected to take more than one line."
TextColor="Black" BackgroundColor="White" HeightRequest="100" />
</StackLayout>
<StackLayout HorizontalOptions="Center" VerticalOptions="Center"
Orientation="Horizontal">
<Button x:Name="facebook" WidthRequest="50" HeightRequest="50" Image="Fb.png">
<Button.Image Aspect="AspectFit" />
</Button>
<Button WidthRequest="50" HeightRequest="50" Image="LINKEDIN.png">
<Button.Image Aspect="AspectFit" />
</Button>
<Button x:Name="YB" WidthRequest="50" HeightRequest="50" Image="YOUTUBE.png">
<Button.Image Aspect="AspectFit" />
</Button>
</StackLayout>
</StackLayout>
<StackLayout Grid.Row="4" HorizontalOptions="Center" VerticalOptions="End" Orientation="Horizontal" Margin="1" >
<Label Text="sample text" TextColor="Gray" HorizontalOptions="Center" HorizontalTextAlignment="Center"/>
</StackLayout>
</Grid>
这是我收到的确切错误:
位置35:18。无法设置Button的内容,因为它没有 ContentPropertyAttribute
位置35是名为 YB
的第三个按钮我不明白问题所在。 任何建议都会有所帮助。 谢谢
答案 0 :(得分:0)
Xamarin.Forms.Button.Image
是FileImageSource
,因此没有Aspect
属性。此抽象控件转换为平台本机控件,并且不会在每个平台上的该按钮内显示它的完整图像控件。
但在Xamarin.Forms.Image
上有一个Aspect
属性。
如果您需要控制宽高比,您可以创建自定义按钮渲染器并在平台级别处理它,或者只使用Xamarin.Forms.Image
并在其上设置制表符。