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/

相关文章:

listview - UWP、MVVM 和级联 ListView

c# - 在 UWP C# 中从 PixelBuffer 转换为图像(仅使用 Windows.UI.Xaml)

c# - 四舍五入小数并在C#中转换为%

c# - 无法使用 AngularJs 和 C# WebService 后端将数据插入 PostgreSql

c# - 图像在 Win8/Win10 中呈现,但在 Win7 中不呈现

c# - 在ListView中选择时更改UserControl的样式

android - Xamarin 表单 : How to open an app from another app?

c# - 向数据表添加列并添加数据

c# - 从C#返回带有数字键的列表

c# - 如果使用路径,绑定(bind)不会刷新