【问题标题】:How to get a flyout on a button click where the button is in another flyout in uwp如何在按钮上获得弹出按钮单击按钮在uwp中另一个弹出按钮中的位置
【发布时间】:2017-04-17 08:38:21
【问题描述】:

我在我的 uwp 应用程序中使用弹出控件。我想在单击按钮时显示一个浮出控件,并且该按钮位于另一个浮出控件中。 我想要这样的图形用户界面。

谁能帮帮我?

【问题讨论】:

  • Stack Overflow 不是代码编写服务,希望您尝试自己编写代码。我建议您对您的问题进行一些研究(尝试上面的搜索框)并尝试自己编写一些代码。如果/当您遇到任何代码问题时,请再次询问并解释您尝试过的内容,以及为什么它对您不起作用。最重要的是包含一个Minimal, Complete, and Verifiable example
  • 有什么更新吗?我的回答解决了你的问题吗?
  • 不,这与我的问题无关。无论如何,我们不会采取 2 个弹出菜单,而是以其他方式进行。

标签: c# .net windows uwp


【解决方案1】:

声明内容的单个对象元素。这必须是在其层次结构中具有 UIElement 的对象(纯字符串不起作用)。这可以是一个容器,例如 Panel 派生类,以便可以在布局中排列 Flyout 中的多个内容项。

有关详细信息,请参阅Flyout class

所以我们可以在 Flyout 的内容中添加另一个 Button。

我们也可以使用FlyoutPlacementMode枚举设置为FlyoutBase.Placement来设置浮出控件的位置在目标元素的上方。

例如:

<Button Name="MyButton" VerticalAlignment="Center" HorizontalAlignment="Center"
Content="Open flyout">
<Button.Flyout>
    <Flyout Placement="Right">
        <Grid Width="300" Height="300">
            <Grid.RowDefinitions>
                <RowDefinition  Height="*" />
                <RowDefinition  Height="*" />
                <RowDefinition  Height="*" />
                <RowDefinition  Height="*" />
                <RowDefinition  Height="*" />
            </Grid.RowDefinitions>
            <Button  Grid.Row="0" Content="Open second flyout">
                <Button.Flyout>
                    <Flyout Placement="Left">
                        <Grid Width="300" Height="300">
                            <TextBlock TextWrapping="Wrap" Text="This is some text in a flyout." />
                        </Grid>
                    </Flyout>
                </Button.Flyout>
            </Button>
        </Grid>
    </Flyout>
</Button.Flyout>

如果要显示菜单项,请尝试使用MenuFlyout 控件。有关详细信息,包括 XAML 和代码示例,请参阅快速入门:Adding a MenuFlyout

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多