c# - UWP 设置 NavigationView TogglePaneButton 颜色

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

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

enter image description here

那是因为我在它的源代码中处于LeftMinimal模式时,我手动将它设置为WhiteSmoke(实际上在我推送的代码中它已经是灰色的) 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 背景,并且只在按钮和 Pane 下方显示彩色Border。当 Pane 将关闭并处于最小模式时,按钮下方的边框将使按钮看起来好像具有正确的背景颜色。当 Pane 打开时,它将绘制在 Border上方,按钮将具有与 Pane 相同的背景。

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

相关文章:

c# - ExpanderView 的性能不利于扩展(XAML + UWP)

c# - 如何检查客户端计算机运行的是 32 位还是 64 位操作系统

c# - 在 XAML 应用程序中引用 C++ 组件

wpf - 为什么绑定(bind)到 "Self"不起作用?

c# - 最新版本的Xamarin.Forms Button.CornerRadius错误

c# - Windows Phone 导航按钮与屏幕分辨率重叠

c# - 无法创建新 View ,因为尚未创建主窗口

c# - 夏普架构替代品

C# 更好地压缩远程桌面广播应用程序

c# - 如何在 C# 中获取 CPU 速度和总物理内存?