Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何禁用Windows Build 1903中提供的Xaml控件的默认阴影?_C#_Uwp_Uwp Xaml_Shadow_Dropshadow - Fatal编程技术网

C# 如何禁用Windows Build 1903中提供的Xaml控件的默认阴影?

C# 如何禁用Windows Build 1903中提供的Xaml控件的默认阴影?,c#,uwp,uwp-xaml,shadow,dropshadow,C#,Uwp,Uwp Xaml,Shadow,Dropshadow,因此,Windows build 1903 sdk在某些xaml控件上应用了默认的“阴影”,如列表所示。我在一个项目中使用CommandBar,“查看更多”按钮有一个关联的弹出窗口,但是我发现没有办法禁用它的阴影。此阴影不会显示在任何其他以前的windows版本中。参考: 在微软关于这一点的博客文章中,他们给出了以下代码来从类似弹出的对象中删除阴影,但是他们没有指定任何代码来从其他控件中删除阴影 以下代码中名为“IsDefaultShadowEnabled”的特定属性只能从FlyoutPrese

因此,Windows build 1903 sdk在某些xaml控件上应用了默认的“阴影”,如列表所示。我在一个项目中使用CommandBar,“查看更多”按钮有一个关联的弹出窗口,但是我发现没有办法禁用它的阴影。此阴影不会显示在任何其他以前的windows版本中。参考:

在微软关于这一点的博客文章中,他们给出了以下代码来从类似弹出的对象中删除阴影,但是他们没有指定任何代码来从其他控件中删除阴影

以下代码中名为“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设置为测试应用程序的版本


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

我检查了底层实现,命令栏使用弹出式控制器而不是弹出式按钮。您可以尝试修改弹出式按钮样式以删除阴影吗?修改弹出式按钮样式没有帮助,但我用命令栏附加了一个菜单输出,它起到了作用。:)但显然我们不能使用最新的构建版本作为目标版本。。。我无法使用IsDefaultShadowEnabled功能。。。使用MenuFlyout没有任何帮助。xaml团队希望直接与您交谈。因此,我们建议您可以在上以bug的形式打开一个问题,并指定您的问题。我们最终将目标版本更新为1903。并且禁用了CommandBar菜单中的阴影,但是发生了一件有趣的事情,CommandBar菜单中的阴影开始显示不同的边框,当我们单击其他地方时,它不会消失。我们必须用基本网格替换commandbar来解决这个问题。