Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xamarin Forms transparent element with border

I am using a Frame to create a border on various elements (Grid, StackLayout & ContentView) and need to now make the elements transparent; I tried setting the opacity of the Grid etc. but of course the Frame colour impacts the actual background colour.

<ContentPage BackgroundImage="some_image.png">
  <!-- ... -->
  <Frame BackgroundColor="Gray" Opacity="0.7" Padding="1" Margin="10">
    <Grid BackgroundColor="White" Opacity="0.7" Margin="20">
      <Label Text="..."/>
    </Grid>
  </Frame>
  <!-- ... -->
</ContentPage>

The Grid is rendered as expected but now the Frame grey background makes the white grid appear grey. Ideally I would like a white transparent Grid with a solid grey border, is this possible in Xamarin?

(Im using shared Xamarin forms project targeting iOS & Android)

like image 276
Anth12 Avatar asked Mar 11 '23 10:03

Anth12


1 Answers

You can set BackgroundColor to "Transparent" and OutlineColor to "Gray":

<ContentPage BackgroundImage="some_image.png">
  <!-- ... -->
  <Frame BackgroundColor="Transparent" OutlineColor="Gray" Opacity="0.7" Padding="1" Margin="10">
    <Grid BackgroundColor="White" Opacity="0.7" Margin="20">
      <Label Text="..."/>
    </Grid>
  </Frame>
  <!-- ... -->
</ContentPage>
like image 139
Dennis Schröer Avatar answered Mar 19 '23 11:03

Dennis Schröer