c# - UWP 设置 NavigationView TogglePaneButton 颜色

标签 c# xaml uwp win-universal-app navigationview

从图中可以看出,TogglePaneButton与其余的颜色不同。

enter image description here

那是因为我手动设置为WhiteSmoke (实际上在我推送的代码中它已经是灰色的)当它在 LeftMinimal 中时其源代码中的模式VisualState袖珍的。

enter image description here

我想我可以在 Pane 打开时通过修改它的视觉状态来改变它,如下所示:

<VisualState x:Name="Expanded">
    <VisualState.Setters>
        <Setter Target="RootSplitView.PaneBackground" Value="{ThemeResource MainNavigationViewBackground}" />
        <Setter Target="TogglePaneButton.Background" Value="{ThemeResource MainNavigationViewBackground}" />
    </VisualState.Setters>
</VisualState>

但它不起作用。我怎样才能做到这一点?

代码已超过 30000 个字符,所以我只能发布链接:

https://github.com/SeakyLuo/SMPlayer/blob/master/SMPlayer/Dictionaries/MainNavigationView.xaml

最佳答案

这里的问题是 VisualStates对不同类型的 Pane 模式作出 react ,但不对打开/关闭事件作出 react 。

我建议给按钮本身一个 Transparent背景并仅显示彩色 Border在按钮和 Pane 下。当 Pane 将关闭并处于最小模式时,按钮下方的边框将使它看起来好像按钮具有正确的背景颜色。当 Pane 打开时,它将被绘制在 Border 上方。 ,并且该按钮将具有与 Pane 相同的背景。

关于c# - UWP 设置 NavigationView TogglePaneButton 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57905414/

相关文章:

c# - <authentication mode ="forms"> Godaddy Hosting 配置错误

c# - Windows服务安装期间的问题

c# - 如何在 WPF 中从一页导航到另一页

c# - 如何在按钮在 uwp 中的另一个弹出按钮中单击按钮时获得弹出按钮

c# - ApplicationData.LocalSettings 中的日期时间

c# - 在 MultiScaleImage 上保持相对位置

c# - 如何在业务实体上封装业务逻辑?

c# - xaml中具有集合的嵌套对象似乎泄漏到相邻集合中

c# - WP8应用程序自定义控件具有一些动态按钮,主页上未显示任何内容

c++ - 什么是 "api-ms-win-*-*-lx-x-x.dll"伞形库?