如何从 Xaml 控件中禁用 Windows Build 1903 中提供的默认 Shadow?

How to disable the default Shadow from Xaml controls which is provided in Windows Build 1903?

因此,Windows build 1903 sdk 在某些xaml 控件上应用了默认的"Shadow",从列表中可以看出。我在一个项目中使用 CommandBar,并且 "See more" 按钮有一个关联的弹出窗口,但是我找不到禁用它的阴影的方法。此阴影不会显示在任何其他以前的 windows 版本中。参考:https://docs.microsoft.com/en-us/windows/uwp/design/layout/depth-shadow

在微软的博客 post 中,他们给出了以下代码来从弹出式对象中删除阴影,但是他们没有指定任何代码来从其他控件中删除阴影。

下面代码中名为 "IsDefaultShadowEnabled" 的这个特定 属性 只能从 FlyoutPresenterStyles 访问,我已经尝试从其他控件(如 GridView、Border)中找不到它。我尝试将此弹出窗口附加到与命令栏相关联的弹出窗口。但没有帮助。

我为带有阴影的命令栏添加了代码。

  <Flyout>
       <Flyout.FlyoutPresenterStyle>
           <Style TargetType="FlyoutPresenter">
               <Setter Property="IsDefaultShadowEnabled" Value="False" />
          </Style>
       </Flyout.FlyoutPresenterStyle>
  </Flyout>



    <CommandBar Background="Yellow" FocusVisualPrimaryThickness="0" FocusVisualSecondaryThickness="0">
        <CommandBar.CommandBarOverflowPresenterStyle>
            <Style TargetType="CommandBarOverflowPresenter">
                <Setter Property="BorderThickness" Value="0"/>
            </Style>
        </CommandBar.CommandBarOverflowPresenterStyle>
        <CommandBar.SecondaryCommands>

            <AppBarButton Label="YELLOW!"/>
            <AppBarButton  Label="YELLOW!"/>
            <AppBarButton  Label="YELLOW!"/>
        </CommandBar.SecondaryCommands>

    </CommandBar>

如果没有直接的解决方案,你们能告诉我任何解决阴影问题的方法吗?

根据@Faywang - MSFT 的建议,问题已在 Win UI 团队的存储库中注册,

先生@jevansaks 回复提到使用 SDK 构建版本 1903 作为 目标版本 ,另外将 MaxTestedVersion 设置为测试其应用程序的版本。

https://github.com/microsoft/microsoft-ui-xaml/issues/1136

总之,要修复阴影,我们需要将构建应用程序的目标版本设置为 SDK 1903,但是我们可以将 MaxTestedVersion 设置为我们测试应用程序的版本,因为例如它可以是 1809。