从图像中可以看出,TogglePaneButton
的颜色与其余部分不同。
那是因为我在它的源代码中处于
紧凑。LeftMinimal
模式时,我手动将它设置为WhiteSmoke
(实际上在我推送的代码中它已经是灰色的) VisualState
我想我可以在 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/