2

如何在 UWP 中的弹出窗口周围添加阴影?

我在 UWP 社区工具包中尝试了 DropShadowPanel 来包装弹出窗口,但它没有与弹出窗口一起显示。我怎样才能实现它,以便阴影随着弹出窗口显示和消失?谢谢!

<Flyout x:Name="Flyout" Placement="Bottom">
    <TextBlock Text="Error message" />
</Flyout>
4

1 回答 1

5

您必须添加DropShadowPanelFlyoutPresenter,而不是Flyout本身。

<Flyout>
    <Flyout.FlyoutPresenterStyle>
        <Style TargetType="FlyoutPresenter">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>

                        <!-- This is the root visual of the flyout -->

                        <toolkit:DropShadowPanel>
                            <Border Background="LightGray" Padding="12">
                                <ContentPresenter />
                            </Border>
                        </toolkit:DropShadowPanel>

                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Flyout.FlyoutPresenterStyle>

    <TextBlock Text="Error message" />
</Flyout>
于 2017-04-09T15:09:43.060 回答