2009-09-01 7 views
1

Comment coder un convertisseur dans WPF pour afficher quatre icônes d'état dans WPF, Dans mon projet, je prévois d'afficher quatre statuts suivants en fonction de certaines conditions 1) Red Dot icon - Données non enregistrées 2) Icône point vert - Enregistrer avec succès 3) Icône point blanc OU Aucune icône - La fenêtre a été initialisée avec succès et il n'y a pas de données non sauvegardées. 4) Icône d'erreur - Des erreurs se sont produites lors de la sauvegarde des données.Convertisseur String to Image WPF

Toute aide serait grandement appréciée, merci d'avance.

+0

vous dire comment changer l'icône a montré dans le titre de la fenêtre ou juste pour afficher des points? –

Répondre

1

Si vous voulez changer l'icône de la fenêtre la plus simple façon est de créer toutes les icônes et les enregistrer en tant que ressource, puis changer avec:

Uri iconUri = new Uri("pack://application:,,,/WPFIcon2.ico", UriKind.RelativeOrAbsolute); 
this.Icon = BitmapFrame.Create(iconUri); 

Si vous voulez juste afficher des points sur votre formulaire vous dessinez un cercle et changer sa couleur avec yourCircle.Fill (newColor)

cet exemple est de msdn:

pour dessiner un cercle, une ellipse spécifier w tuyau Les valeurs Largeur et Hauteur sont égales à .

using System; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Media; 
using System.Windows.Shapes; 

namespace SDKSample 
{ 
    public partial class SetBackgroundColorOfShapeExample : Page 
    { 
     public SetBackgroundColorOfShapeExample() 
     { 
      // Create a StackPanel to contain the shape. 
      StackPanel myStackPanel = new StackPanel(); 
      // Create a red Ellipse. 
      Ellipse myEllipse = new Ellipse(); 
      // Create a SolidColorBrush with a red color to fill the 
      // Ellipse with. 
      SolidColorBrush mySolidColorBrush = new SolidColorBrush(); 
      // Describes the brush's color using RGB values. 
      // Each value has a range of 0-255. 
      mySolidColorBrush.Color = Color.FromArgb(255, 255, 255, 0); 
      myEllipse.Fill = mySolidColorBrush; 
      myEllipse.StrokeThickness = 2; 
      myEllipse.Stroke = Brushes.Black; 
      // Set the width and height of the Ellipse. 
      myEllipse.Width = 200; 
      myEllipse.Height = 100; 
      // Add the Ellipse to the StackPanel. 
      myStackPanel.Children.Add(myEllipse); 
      this.Content = myStackPanel; 
     } 
    } 
} 
+0

Merci beaucoup, Comme suggéré, je vais dessiner un cercle et changer sa couleur. –