2008-09-17 9 views
6

私はWPFアプリケーションでProgressBarコントロールを使用しています。この古いWindows 3.1 Progressを取得しています。ブロックものです。 VB6では、スムース ProgressBarを表示するプロパティがありました。 WPFのためのそのようなことはありますか?WPFのスムーズProgressBar

+0

ない答えコード...

ゴーですプログレスバーとスムーズな操作については、ここではさまざまな機能に関する優れた記事です:http://www.chrisharrison.net/projects/progressbars/ProgBarHarrison.pdf –

答えて

4

Thisキロバイトの記事あなたが探しているものを説明しているようだ...あまりにも記事のVBのバージョンへのリンクがあります。

+0

ああ。まあ、少なくとも、「あなたはもうできない!」と言います。残念なことに、ソリューションそのものは少しずつ最小限に抑えられています。ありがとう、結構です。 –

+0

これはWinFormsソリューションです。 WPFでは、ProgressBar用の新しいControlTemplateを作成するだけです。 –

0

あなたがしたいことはわかりません。 Vistaを起動するときのように左右に「スウィープ」するプログレスバーが必要な場合は、IsIndetermined = trueを使用します。

実際に0%から100%に移動する場合は、msdn:http://msdn.microsoft.com/en-us/library/system.windows.controls.progressbar.aspx の次の例のように値をアニメートするか、コードビハインド(おそらくバックグラウンドまたは変化する価値への拘束を通じて、

それでもWPFのProgressBarは常に「滑らか」する必要があり、UIがRemoteDesktop接続を介して、より簡単なバージョンをデフォルトにする可能性があります。

0

私は最近、Vista上で開発した後にXP上にプログレスバーが出現することに腹を立てました。私は、dllの中からVistaのスタイルをロードするために見た提案を試してみたいとは思わなかったが、this articleはちょうど私が探していたものをくれた。ヴィスタの外観 - 新しいクラスはありません。加えて、それはタイマーにガラスのハイライトを持っています。記事の画像はありませんが、VistaのProgressBarのように見えます。

+0

あなたのリンクは機能しませんか? – nabeelfarid

+0

http://mattserbinski.com/blog/look-and-feel-progressbar ProgressBarExamples.zipを取得すると、Window1.xamlにはxamlまたはResourceDictionaryに抽出できるstyleProgressBarVistaがあります – Thomas

2

私はこれに直接的な解決策を見つけることができませんでした。しかし、私はもっと良いものを見つけました。 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#のに変換することができることを望む)

関連する問題