Xamarin.forms Xamarin窗体透明按钮隐藏图像

Xamarin.forms Xamarin窗体透明按钮隐藏图像,xamarin.forms,Xamarin.forms,我有一个框架包含一个图像和一个按钮,但即使按钮的背景颜色设置为透明,它仍然隐藏了它后面的图像,我无法理解为什么会这样。移除按钮会使图像看起来很好 <Grid x:Name="SettingsGrid" Grid.Row="1" Grid.Column="1" BackgroundColor="Transparent" Grid.RowSpan="2"> <Frame x:Name="SettingsFrame" CornerRadius="42" Ha

我有一个框架包含一个图像和一个按钮,但即使按钮的背景颜色设置为透明,它仍然隐藏了它后面的图像,我无法理解为什么会这样。移除按钮会使图像看起来很好

    <Grid x:Name="SettingsGrid" Grid.Row="1"  Grid.Column="1" BackgroundColor="Transparent" Grid.RowSpan="2">
        <Frame x:Name="SettingsFrame" CornerRadius="42" HasShadow="false" BackgroundColor="#aa2129" Padding="0">
            <Image Source="whitecog.PNG" HorizontalOptions="Center" VerticalOptions="Center" Scale="1"/>
            <Button x:Name="SettingsButton" Clicked="OnSettingsClick"
                    HorizontalOptions="Center" VerticalOptions="Center"
                    BorderWidth="1"  BorderColor="Transparent" BackgroundColor="Transparent" BorderRadius="0"/>
        </Frame>
    </Grid>

如果您只需要在两个图像之间切换,您可以扩展
Grid
以使用
TapGestureRecognitizer
(我已经在C#中实现了这一点,但您也可以在XAML中实现同样的功能)

示例用法:

<Grid x:Name="SettingsGrid" Grid.Row="1"  Grid.Column="1" BackgroundColor="Transparent" Grid.RowSpan="2">
  <Frame x:Name="SettingsFrame" CornerRadius="42" HasShadow="false" BackgroundColor="#aa2129" Padding="0">
      <local:ToggleImage IsToggled="{Binding IsToggled}" OriginalSource="image1.png" ToggledSource="image2.png" HorizontalOptions="Center" VerticalOptions="Center" Scale="1"/>
  </Frame>
</Grid>  

如果您只需要在两个图像之间切换,您可以扩展
Grid
以使用
TapGestureRecognitizer
(我已经在C#中实现了这一点,但您也可以在XAML中实现同样的功能)

示例用法:

<Grid x:Name="SettingsGrid" Grid.Row="1"  Grid.Column="1" BackgroundColor="Transparent" Grid.RowSpan="2">
  <Frame x:Name="SettingsFrame" CornerRadius="42" HasShadow="false" BackgroundColor="#aa2129" Padding="0">
      <local:ToggleImage IsToggled="{Binding IsToggled}" OriginalSource="image1.png" ToggledSource="image2.png" HorizontalOptions="Center" VerticalOptions="Center" Scale="1"/>
  </Frame>
</Grid>  


一个框架只能有一个子框架-我经常使用网格将视图相互叠加(使用相同的行/列)。啊,我明白了!有意义如果你的目标是创建一个可点击的图像,那么我会在图像上的手势识别器中添加一个TapGestureRecognitor,尽管如此,这取决于你的目标。我需要在两个图像之间进行切换,在我头顶上,当点击按钮时,最容易改变两个图像的可见性。一个帧只能有一个子帧-我经常使用网格将视图相互叠加(使用相同的行/列)。啊,我明白了!有意义如果你的目标是创建一个可点击的图像,那么我会在图像上的手势识别器中添加一个TapGestureRecognitor,尽管如此,这取决于你的目标。我需要在两个图像之间切换,在我的头顶上,点击按钮时最容易改变两个图像的可见性。我完全推荐此解决方案我完全推荐此解决方案