无法设置按钮的内容,因为它在xamarin页面上没有contentproperty属性

时间:2018-03-30 07:14:47

标签: visual-studio xaml xamarin layout

我试图在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

的第三个按钮

我不明白问题所在。 任何建议都会有所帮助。 谢谢

1 个答案:

答案 0 :(得分:0)

Xamarin.Forms.Button.ImageFileImageSource,因此没有Aspect属性。此抽象控件转换为平台本机控件,并且不会在每个平台上的该按钮内显示它的完整图像控件。

但在Xamarin.Forms.Image上有一个Aspect属性。

如果您需要控制宽高比,您可以创建自定义按钮渲染器并在平台级别处理它,或者只使用Xamarin.Forms.Image并在其上设置制表符。