web-dev-qa-db-ja.com

Xamarin Formsでボタンを画像で塗りつぶす方法は?

ButtonImageで埋めようとしています。ボタンはグリッド内にあります。問題は、画像がボタンを完全に埋めていないことです。また、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

どんな助けも感謝します!

17
Mirel Vlad

ボタンの代わりに画像を配置してください。

Tap Gesture Gesture Recognizerを使用してクリックイベントを取得できます。

このようなものを試してください:

<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");
}

参照: タップジェスチャジェスチャレコグナイザの追加

30
Vaikesh

私は自分で使ったことはありませんが、XLabのこれを使うことができます

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

1
Ahmad ElMadi