Liscia ProgressBar in WPF
-
01-07-2019 - |
Domanda
Sto utilizzando il controllo ProgressBar in un'applicazione WPF e sto ottenendo questo vecchio Windows 3.1 ProgressoBlocchi cosa.In VB6, c'era una proprietà per mostrare un liscia ProgressBar.C'è una cosa per WPF?
Soluzione
Questo Articolo sembra spiegare quello che stai cercando...c'è un link a una versione di visual basic dell'articolo.
Altri suggerimenti
Non ero in grado di trovare una soluzione diretta per questo.Ma ho trovato qualcosa di ancora migliore.In WPF, è possibile utilizzare i Temi di Windows.Sto usando Windows XP, e avendo Vista-Aero Tema sulla mia Applicazione WPF, facendo tutti i controlli assomigliare a Vista-Aero.
Ecco il codice...
Vai all'Applicazione.xaml.vb e scrivere...
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
(Spero che è possibile convertirlo in C#)
Io non sono sicuro di quello che vuoi fare.Se si desidera semplicemente una barra di avanzamento che "spazza" da un lato all'altro come in avvio di Vista è possibile utilizzare:IsIndetermined = true.
Se si vuole realmente andare dallo 0% al 100%, si dovrà animare il valore, come mostrato in questo esempio su msdn: http://msdn.microsoft.com/en-us/library/system.windows.controls.progressbar.aspx o impostare il valore in modo esplicito nel codice-dietro (molto probabilmente da un operaio di sfondo) o per il tramite di un'associazione a una variazione del valore.
Tuttavia WPF ProgressBar deve sempre essere "liscia", c'è la possibilità che l'interfaccia utente di default per una più semplice versione attraverso un RemoteDesktop connessione.
Recentemente sono stato infastidito da l'aspetto del mio barre di avanzamento di XP dopo aver sviluppato su Vista.Non ho voglia di provare i suggerimenti che avevo visto per il carico in Vista stili di dll, ma questo articolo mi ha dato proprio quello che stavo cercando.vista l'aspetto - non ci sono nuove classi.In più ha il vitreo evidenziare su un timer.Nessuna foto su questo articolo, ma sembra proprio come Vista ProgressBar.