因此,从列表中可以看出,Windows内部版本1903 sdk已在某些xaml控件上应用了默认的“阴影”。我在项目中使用CommandBar,并且“查看更多”按钮具有关联的Popup,但是我找不到禁用它的阴影的方法。此阴影不会在任何其他以前的Windows版本中显示。参考:https://docs.microsoft.com/en-us/windows/uwp/design/layout/depth-shadow
在有关此问题的Microsoft博客文章中,他们给出了以下代码从类似对象的弹出窗口中删除阴影,但是他们未指定任何代码从其他控件中删除阴影。
以下名为“ IsDefaultShadowEnabled”的代码中的此特定属性只能从FlyoutPresenterStyles访问,我尝试从其他控件(例如GridView,Border)在其中找到它。我尝试将此弹出控件附加到与命令栏关联的flyoutbase上。但没有帮助。
我添加了阴影的命令栏代码。
<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>
如果没有直接解决方案,你们能告诉我任何解决阴影问题的解决方法吗?
答案 0 :(得分:0)
在@ Faywang-MSFT的建议下,该问题已在Win UI团队的存储库中注册
先生。 @jevansaks回应提到使用SDK Build版本1903作为目标版本,另外将 MaxTestedVersion 设置为对其应用进行测试的版本。
https://github.com/microsoft/microsoft-ui-xaml/issues/1136
最后,要修复阴影,我们需要将用于构建应用的目标版本设置为SDK 1903,但是我们可以将 MaxTestedVersion 设置为测试应用的版本,例如,可以为1809