2017-02-14 6 views
1

Plattform-App mit Xamarin PCL-Projekt. Ich habe eine Schaltfläche mit Bild und ohne Text erstellt.Xamarin Formen Bild Schaltfläche Problem

<Button Image="{DynamicResource ProfileImage}" Grid.Row="0" Grid.Column="2" BackgroundColor="Transparent" x:Name="dashboard" StyleId="dashboard" HorizontalOptions="Center" Clicked="TabClicked"></Button> 

Ich bin mit einigen UI-Problemen konfrontiert. In Windows 10, es sieht aus wie -

enter image description here

In android, es wie-

enter image description here

jede mögliche Weise, die vom androiden diese umreißrand zu entfernen Gibt es aussieht.

+0

haben Sie Ihr Problem lösen? – Daniel

+0

Haben Sie Ihr Problem gelöst? – Daniel

+0

@Daniel ja, aber durch Einstellen der Tastenhöhe auf Null. – Sonali

Antwort

1

entfernte ich die Grenze/Schatten von Schaltflächen in Android durch seine Höheneinstellung 0px with the help of this link

class MyButtonRenderer : ButtonRenderer 
    { 
     protected override void OnElementChanged(ElementChangedEventArgs<Button> e) 
     { 
      base.OnElementChanged(e); 
      try 
      { 
       if (Control != null) 
       { 
        Control.Elevation = 0; 
       } 
      } 
      catch(Exception ex){} 
     } 
    } 
0

Haben Sie versucht, BorderColor="Transparent" auf Ihrem Button XAML?

+0

Es funktioniert nicht. Sonalis Antwort ist gut. –

0

Um den Hintergrund eines Bildes vollständig zu entfernen, können Sie den Bildansichtstyp anstelle von Schaltfläche verwenden.

Sie arrangieren es ist Quelle:

<StackLayout Padding="15,5,0,5"> 
     <Image x:Name="MyImage" Source="myImage.png"/> 
</StackLayout> 

Und man kann es leicht ein Klick-Methode hinzufügen:

var gestureRecognizerForImage = new TapGestureRecognizer(); 
gestureRecognizerForImage.Tapped += MyImageClicked; 
MyImage.GestureRecognizers.Add(gestureRecognizerForImage); 

public async void GetMediaClicked(object sender, EventArgs e) 
{ 
    await DisplayAlert("Clicked", "My Image is Clicked", "OK"); 
} 
0

Sie BorderWidth = 0 einstellen. Es sollte die Grenze entfernen.