首页 > 解决方案 > 修复弹出框消失槽动作

问题描述

这是场景:

我在屏幕上加载了一个文本,我在屏幕上有一个按钮。当我单击按钮时,会打开一个弹出框,其中包含一个按钮。

我现在的问题是:

  1. 我无法向下滚动文本。弹出按钮似乎占据了完整的焦点。我怎样才能做到这样我可以向下滚动并且弹出框仍然打开?

  2. 弹出框几乎在每个操作上都会消失。例如,如果我单击文本。如何设置它,以便仅当我单击弹出框中的按钮时弹出框才会消失?

我试图达到的目标:

打开我的弹出框。在没有弹出框消失的情况下对文本执行操作。只有当我单击弹出框中的按钮时,弹出框才会消失。

        <Button x:Name="flyout" Style="{StaticResource AppBarButtonStyle}" Tapped="OnOptionItemTapped">
            <Image Source="Assets/images/icon_menu.png"/>
                <Button.Flyout>
                <Flyout x:Name="boxName">
                    <Grid>
                        <TextBlock Text="This is a flyout!"/>
                        <Button x:Name="closeOnClick">
                            <Image Source="Assets/images/annot_remove.png"/>
                        </Button>
                    </Grid>
                </Flyout>
            </Button.Flyout>
        </Button>

我想我的第二个问题的代码看起来像这样:

if (name.Equals("closeOnClick"))

{

boxName.Hide();

}

标签: c#xamluwpuwp-xamlflyout

解决方案


我找到了解决方案的一部分。当我单击弹出框内的按钮时,我的弹出框消失了。

现在我只需要知道如何在弹出框仍然可见的情况下在我的文本文件中执行滚动等操作。

部分解决方案:

      <Button x:Name="flyout" Style="{StaticResource AppBarButtonStyle}" Tapped="OnOptionItemTapped">
            <Image Source="Assets/images/icon_menu.png"/>
                <Button.Flyout>
                <Flyout x:Name="boxName">
                    <Grid>
                        <TextBlock Text="This is a flyout!"/>
                        <Button Tapped="closeOnClick">
                            <Image Source="Assets/images/annot_remove.png"/>
                        </Button>
                    </Grid>
                </Flyout>
            </Button.Flyout>
        </Button>

public void closeOnClick(object sender, TappedRoutedEventArgs e)
{
    boxName.Hide();
}

推荐阅读