Xamarin圆形图像按钮

3

我正在使用CircleImage。

xmlns:ic="clr-namespace:ImageCircle.Forms.Plugin.Abstractions;assembly=ImageCircle.Forms.Plugin.Abstractions"

在我的XAML文件中。

我想要做的是插入:

<ic:CircleImage 
    x:Name="userProfileImage"
    HeightRequest="50"
    WidthRequest="50"
    Aspect="AspectFill"
    Source="{Binding post.uploader.userProfile.userThumbnail}"
/>

这个图片位于按钮属性下方。
但是如果我这样做(在下方):
<Button Clicked="OnUserInfoClicked">
    <Button.Image>
        <ic:CircleImage 
            x:Name="userProfileImage"
            HeightRequest="50"
            WidthRequest="50"
            Aspect="AspectFill"
            Source="{Binding post.uploader.userProfile.userThumbnail}"
        />
    </Button.Image>
</Button>

然后,我遇到了这个错误。

No property, bindable property, or event found for 'image'

我做错了什么?该如何修复?

2个回答

2
您想要做的事情是不可能实现的。但是,如果您只是想点击图像并执行操作,为什么不使用TapGesture呢?
<ic:CircleImage 
    VerticalOptions="Center"
    x:Name="userProfileImage"
    HeightRequest="50"
    WidthRequest="50"
    Aspect="AspectFill"
    Source="{Binding post.uploader.userProfile.userThumbnail}">

    <Image.GestureRecognizers>
        <TapGestureRecognizer Tapped="OnUserInfoClicked" />
    </Image.GestureRecognizers>
</ic:CircleImage>

希望这能帮到你!

0
对于未来偶然发现这篇文章的读者们 - 如果你不必使用 CircleImage 对象,Xamarin 的默认按钮通过将 CornerRadius 设为图像高度的一半来支持圆形。
<ImageButton
    x:Name="userProfileImage"
    HeightRequest="50"
    WidthRequest="50"
    Aspect="AspectFill"
    CornerRadius="25"
    BackgroundColor="White"
    Source="{Binding post.uploader.userProfile.userThumbnail}"
/>

如果需要,您还可以添加 BorderColorBorderRadius 来使其更加突出:

Delete button, black border, grey background.


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接