Bonjour à tous,
J'ai un problème avec la mise en place d'un multiconverter. Dans ma liste, j'essaye de convertir les données d'une colonne, soit en image, soit en texte, en fonction de 2 colonnes.
Si dans ma première colonne j'ai une donnée (date) je dois l'afficher sinon je regarde la valeur d'une autre colonne et je dois afficher une image dans la première colonne pour montrer l'état.
Le converter me renvoie les bonnes infos mais je n'arrive pas à l'utiliser.
Ensuite c'est là que je coince, j'étais parti sur quelque chose comme ça mais comment afficher la date quand il y en a une.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 public object Convert(object[] value, Type targetType, object parameter, CultureInfo culture) { if (value[0] == null && value[1] != null) { DateTime dt = (DateTime)value[1]; DateTime s = DateTime.Today.AddDays(-15); DateTime t = DateTime.Today.AddDays(15); BitmapImage bi = new BitmapImage(); bi.BeginInit(); if (DateTime.Today >= dt && dt > s) { bi.UriSource = new Uri("pastille_orange.jpg"); bi.EndInit(); return bi; } else if (DateTime.Today > dt) { bi.UriSource = new Uri("pastille_rouge.jpg"); bi.EndInit(); return bi; } else if (dt > t) { bi.UriSource = new Uri("pastille_verte.jpg"); bi.EndInit(); return bi; } } if(value[0] != null) return value[0]; return null; }
Quelqu'un a déjà rencontré ce problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ImageConverter image = new ImageConverter(); MultiBinding mb = new MultiBinding(); mb.Bindings.Add(bd1); mb.Bindings.Add(bd2); mb.Converter = image; FrameworkElementFactory fe = new FrameworkElementFactory(typeof(Image)); fe.SetValue(Image.SourceProperty, mb);
Merci d'avance.
Partager