【问题标题】:WPF: change style of progressbarWPF:更改进度条的样式
【发布时间】:2017-08-22 17:15:23
【问题描述】:

如何更改 WPF 中进度条的样式? 在 Windows 10 上它是一个直条,但在 win 7 中它被分成许多小块。当应用程序在 win 7 上使用时,我希望在 win 10 上保持直条

【问题讨论】:

  • WPF progressbar style的可能重复
  • 到目前为止你尝试了什么?
  • 注意:有一个名为 MahApps.Metro 的库,它将所有控件的样式设置为更现代的 Metro 主题。你可能想调查一下。源代码可在 GitHub 上获得。

标签: c# wpf


【解决方案1】:

如果你尝试一下 Metro,你可以使用这样的东西:

<metro:MetroProgressBar x:Name="pbar" Value="50" Height="20"></metro:MetroProgressBar>

如果你想使用 Metro Style 的普通栏:

<ProgressBar x:Name="pbar" Value="50" Height="20" Style="{StaticResource MetroProgressBar}"></ProgressBar>

没有样式也一样:

<ProgressBar x:Name="pbar" Value="60" Height="20" Style="{x:Null}"></ProgressBar>

想了解更多Metro,可以找here

【讨论】:

    【解决方案2】:

    我只是在寻找一个可以设置的属性,例如“ugly-block-spacing”。还是我真的把整个风格定义为新的?

    是的,恐怕您将不得不从头开始重新定义整个ControlTemplate。您不能只覆盖ControlTemplate 的一部分:

    WPF: Is there a way to override part of a ControlTemplate without redefining the whole style?

    但是您可以通过在 Windows 10 计算机上的 Visual Studio 中的设计模式下右键单击 ProgressBar 来复制默认的 ControlTemplate,根据您的要求对其进行编辑,然后在您的应用程序中使用样式而不是默认样式。

    【讨论】:

    【解决方案3】:

    Progressbar 有一个名为 Style 的属性,你可以根据自己的喜好设置它。

    【讨论】:

    • 但是我需要很多代码。我只是在寻找一个可以设置的属性,例如“ugly-block-spacing”。还是我真的定义了整个风格新?
    猜你喜欢
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    相关资源
    最近更新 更多