Button 以Xamarin形式将框架放置在按钮顶部
我将创建一个自定义控件,其中一个框架位于按钮顶部,全部位于网格内。当我这样做并单击按钮时,按钮最终位于顶部,框架消失。单击按钮时,如何使框架保持在顶部 下面是简单的xaml:Button 以Xamarin形式将框架放置在按钮顶部,button,xamarin.forms,click,position,Button,Xamarin.forms,Click,Position,我将创建一个自定义控件,其中一个框架位于按钮顶部,全部位于网格内。当我这样做并单击按钮时,按钮最终位于顶部,框架消失。单击按钮时,如何使框架保持在顶部 下面是简单的xaml: <Grid> <Grid.RowDefinitions> <RowDefinition Height="40"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
<Button
Grid.Row="0"
Grid.Column="0"
Grid.ColumnSpan="2"
Text="Test"
BackgroundColor="Green"
TextColor="White"/>
<Frame
Grid.Row="0"
Grid.Column="1"
CornerRadius="12"
HasShadow="false"
OutlineColor="Transparent"
BackgroundColor="Red"
Padding="0">
<Label Text="3" TextColor="White" FontAttributes="Bold" Margin="10"/>
</Frame>
</Grid>
我正在尝试创建一个带有徽章的按钮。徽章在这里的位置不好,但我只是担心当点击按钮时,徽章被隐藏的行为
单击按钮时,框架确实会消失
您的代码在iOS上运行良好,Android中存在一个已知问题:
只需在调用global::Xamarin.Forms.Forms.Init(此为savedInstanceState)
之前,将以下内容添加到main.OnCreate
:
global::Xamarin.Forms.Forms.SetFlags("UseLegacyRenderers");
请参阅:在按钮中,通过应用点击动画来隐藏帧。因此,您使用标签而不是下面的按钮
<Label
Grid.Row="0"
Grid.Column="0"
Grid.ColumnSpan="2"
Text="Test"
BackgroundColor="Green"
TextColor="White">
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped" />
</Label.GestureRecognizers>
</Label>
要处理点击,您可以使用TapGestureRecognizer。一个屏幕截图说明您正在尝试执行的操作。一般来说,将可点击的元素隐藏在不可点击的元素下似乎是一种奇怪的方法。你能分享更多关于你想要实现什么的代码和细节吗?从您的共享代码片段中,单击按钮时框架不会消失。我正计划创建一个带有徽章的按钮。除了在ContentPage中包装网格之外,没有其他代码可以共享。现在没有代码隐藏或ViewModel代码。我只是想知道我是否可以在按钮上保留另一个控件。单击按钮时,框架确实会消失。您的问题解决了吗?