如何在Xamarin Forms中用图像填充按钮?

时间:2016-05-18 09:01:07

标签: xaml xamarin xamarin.forms

我正在尝试使用Button填充Image。该按钮位于网格中。问题是图像没有完全填满按钮。我也尝试使用ImageButton控件。

以下是我如何构建我的U.I:

<Grid Grid.Row="1" Grid.Column="1" x:Name="VotingGrid" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
  <Grid.RowDefinitions>
    <RowDefinition Height="*" />
  </Grid.RowDefinitions>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="45*" />
    <ColumnDefinition Width="10*" />
    <ColumnDefinition Width="45*" />
  </Grid.ColumnDefinitions>

  <Button Grid.Row="0" Grid.Column="0" Image="yay.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>
  <Button Grid.Row="0" Grid.Column="2" Image="meh.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>
</Grid>

目前看起来像下面附带的图片,但我想成像以填充我的按钮。

enter image description here

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:29)

尝试放置图片而不是按钮。

您可以使用点击手势手势识别器来点击活动。

尝试这样的事情:

<Image Source="tapped.jpg">
    <Image.GestureRecognizers>
        <TapGestureRecognizer
                Tapped="OnTapGestureRecognizerTapped"  />
  </Image.GestureRecognizers>
</Image>

事件处理程序的代码

void OnTapGestureRecognizerTapped(object sender, EventArgs args) {
    var imageSender = (Image)sender;
    // Do something
    DisplayAlert ("Alert", "Tap gesture recoganised", "OK");
}

参考:Adding a Tap Gesture Gesture Recognizer

答案 1 :(得分:1)

我自己没有使用它,但也许你可以使用XLab中的这个。

https://github.com/XLabs/Xamarin-Forms-Labs/wiki/ImageButton