Кнопка с изображением круга Xamarin
Я использую 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 ответа
То, что вы пытаетесь сделать, невозможно. Однако, если все, что вы хотите сделать, это нажать на изображение и выполнить действие, почему бы вам просто не использовать 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>
Надеюсь это поможет!
Для тех, кто наткнется на это в будущем - если вам не требуется использовать
CircleImage
объект, кнопки Xamarin по умолчанию имеют круговую поддержку, делая
CornerRadius
половину высоты изображения.
<ImageButton
x:Name="userProfileImage"
HeightRequest="50"
WidthRequest="50"
Aspect="AspectFill"
CornerRadius="25"
BackgroundColor="White"
Source="{Binding post.uploader.userProfile.userThumbnail}"
/>
Вы также можете добавить
BorderColor
а также
BorderRadius
чтобы сделать его немного больше, если вам нужно: