题
我在 WPF 应用程序中使用 ProgressBar 控件,并且得到了这个旧的 Windows 3.1 Progress积木 事物。在VB6中,有一个属性可以显示 光滑的 进度条。WPF有这样的东西吗?
解决方案
这 知识库文章似乎解释了您正在寻找的内容......还有该文章的 VB 版本的链接。
其他提示
我无法找到直接的解决方案。但我发现了更好的东西。在 WPF 中,您可以使用 Windows 主题。我正在使用 Windows XP,并在我的 WPF 应用程序上使用 Vista-Aero 主题,使所有控件看起来像 Vista-Aero。
这是代码...
转到 Application.xaml.vb 并写入...
Enum appThemes
Aero
Luna
LunaMettalic
LunaHomestead
Royale
End Enum
Private Sub Application_Startup(ByVal sender As Object, ByVal e As System.Windows.StartupEventArgs) Handles Me.Startup
setTheme(appThemes.Aero)
End Sub
''' <summary>
''' Function to set the default theme of this application
''' </summary>
''' <param name="Theme">
''' Theme of type appThemes
''' </param>
''' <remarks></remarks>
Public Sub setTheme(ByVal Theme As appThemes)
Dim uri As Uri
Select Case Theme
Case appThemes.Aero
' Vista Aero Theme
uri = New Uri("PresentationFramework.Aero;V3.0.0.0;31bf3856ad364e35;component\\themes/Aero.NormalColor.xaml", UriKind.Relative)
Case appThemes.Luna
' Luna Theme
uri = New Uri("PresentationFramework.Luna;V3.0.0.0;31bf3856ad364e35;component\\themes/Luna.NormalColor.xaml", UriKind.Relative)
Case appThemes.LunaHomestead
' Luna Mettalic
uri = New Uri("PresentationFramework.Luna;V3.0.0.0;31bf3856ad364e35;component\\themes/Luna.Metallic.xaml", UriKind.Relative)
Case appThemes.LunaMettalic
' Luna Homestead
uri = New Uri("PresentationFramework.Luna;V3.0.0.0;31bf3856ad364e35;component\\themes/Luna.Homestead.xaml", UriKind.Relative)
Case appThemes.Royale
' Royale Theme
uri = New Uri("PresentationFramework.Royale;V3.0.0.0;31bf3856ad364e35;component\\themes/Royale.NormalColor.xaml", UriKind.Relative)
End Select
' Set the Theme
Resources.MergedDictionaries.Add(Application.LoadComponent(uri))
End Sub
(希望你能把它转换成C#)
我不确定你想做什么。如果您只是想要一个像启动 Vista 一样从一侧“扫过”到另一侧的进度条,您可以使用:未确定 = true。
如果您确实想从 0% 变为 100%,则必须对该值进行动画处理,如 msdn 上的示例所示: http://msdn.microsoft.com/en-us/library/system.windows.controls.progressbar.aspx 或者在代码隐藏中(很可能来自后台工作人员)或通过绑定到更改值来显式设置值。
尽管如此,WPF ProgressBar 应始终“平滑”,但 UI 可能会通过 RemoteDesktop 连接默认为更简单的版本。
最近在 Vista 上开发后,我对 XP 上进度条的出现感到恼火。我不想尝试我所看到的从 dll 中加载 Vista 样式的建议,但是 本文 给了我我正在寻找的东西。Vista 外观 - 没有新类别。另外,它的计时器上还有玻璃般的亮点。文章中没有图片,但看起来就像 Vista 的 ProgressBar。