2010-08-04 6 views
0

J'ai une classe dérivée INotifyPropertyChanged avec une propriété Volume (float, 0.0f - 1.0f) qui est définie sur une fréquence fixe (disons 30fps). Je voudrais dessiner une petite barre de volume affichant ceci dans ma fenêtre. Je ne veux pas utiliser une barre de progression de databound normale, je préférerais quelque chose de plus simple (et plus rapide :)).Comment dessiner une barre de volume simple fast/databinding?

Existe-t-il un moyen approprié de dessiner simplement un rectangle rempli où la largeur est liée à ma propriété Volume?

Répondre

1

Vous pouvez utiliser un rectangle et une transformation d'échelle. Je doute que ce serait beaucoup plus rapide que de re-taper un ProgressBar.

<Rectangle Width="200" Height="40" Fill="Orange"> 
     <Rectangle.RenderTransform> 
      <ScaleTransform ScaleX="{Binding Volume}" /> 
     </Rectangle.RenderTransform> 
    </Rectangle> 
+0

Merci pour la réponse. Je suis finalement allé avec une barre de progression très simple avec l'idée que si les performances devenaient un problème, elles apparaîtraient dans une session de profilage. J'ai besoin d'apprendre à cesser de m'inquiéter des trucs insignifiants et de continuer avec la grande image;) – Led

Questions connexes