2016-05-18 6 views
11

ButtonImageと入力しています。ボタンはグリッド内にあります。問題は、画像がボタンを完全に満たしていないことです。私はまた、ImageButtonコントロールを使用しようとしました。ここでXamarinフォームで画像のボタンを埋める方法は?

は、私は私の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

私は同じことを試しました画像の解像度とボタンサイズの可能性はありませんでした。これを行うには1つの方法があります。ボタンを画像の上に重ね、ボタンの不透明度を0に設定します。オーバーレイはグリッドレイアウトまたは絶対レイアウトで行うことができます。 –

+0

@AkashAmin私は「よりクリーンな」アプローチを探していました。 –

+0

はい私はそれを探しましたが、何も得られなかったので、他の答えを得ることができるかどうかを見てみましょう。このスレッドには次のようなコメントがあります。いいね! –

答えて

18

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

ジェスチャージェスチャー認識器をタップすると、クリックイベントが発生します。

このような何か試してみてください:参照してください

<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

+0

mvvmでバインドできますか? – batmaci

+1

@batmaci参照先のリンクに従って、ICommandを使用できます。 – Jahmic

1

を、私はそれを自分自身を使用していないが、おそらくあなたが使用することができますこのXLabからのもの

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

+0

私はしましたが、私はまだ同じ問題に直面しました。 –

+1

次に、タップ可能な画像の周りにフレームを置いて、ボタンの感触を与えることができます。 – BraveHeart

+0

ありがとう!最後に、私は同様のアイデアに向かった:バックグラウンドでイメージを持つタップ可能なフレーム。 –

関連する問題