Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Button 以Xamarin形式将框架放置在按钮顶部_Button_Xamarin.forms_Click_Position - Fatal编程技术网

Button 以Xamarin形式将框架放置在按钮顶部

Button 以Xamarin形式将框架放置在按钮顶部,button,xamarin.forms,click,position,Button,Xamarin.forms,Click,Position,我将创建一个自定义控件,其中一个框架位于按钮顶部,全部位于网格内。当我这样做并单击按钮时,按钮最终位于顶部,框架消失。单击按钮时,如何使框架保持在顶部 下面是简单的xaml: <Grid> <Grid.RowDefinitions> <RowDefinition Height="40"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions>

我将创建一个自定义控件,其中一个框架位于按钮顶部,全部位于网格内。当我这样做并单击按钮时,按钮最终位于顶部,框架消失。单击按钮时,如何使框架保持在顶部

下面是简单的xaml:

<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代码。我只是想知道我是否可以在按钮上保留另一个控件。单击按钮时,框架确实会消失。您的问题解决了吗?