Xamarin形成带边框的透明元素

时间:2016-12-12 09:40:58

标签: xaml xamarin xamarin.forms

我使用Frame在各种元素(Grid,StackLayout和ContentView)上创建边框,现在需要使元素透明;我尝试设置Grid等的不透明度,但当然Frame颜色会影响实际的背景颜色。

<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>

Grid按预期渲染,但现在Frame灰色背景使白色网格显示为灰色。理想情况下,我想要一个带有灰色边框的白色透明网格,这在Xamarin中是否可行?

(我使用共享的Xamarin表单项目定位iOS和Android)

1 个答案:

答案 0 :(得分:5)

您可以将BackgroundColor设置为“透明”,将OutlineColor设置为“灰色”:

<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>