Bonjour,
J'ai une listbox qui présente des objets sous forme de points, et certains objets référencent un autre objet. Dans ce cas, j'aimerai qu'une ligne relie les deux points sur le graphique.
Comme les positions des points peuvent évoluer, j'aimerai que ça me redessine la ligne tout seul.
Quelqu'un aurait une idée pour faire ça ?
Initialement, j'avais une solution en surchargeant le OnRender, mais dès que je met un Background au canvas ou à la liste, les traits ne sont plus dessinés (ils doivent être 'sous' le background).
Ensuite, je pensais faire un DataTemplate un peu sous cette forme :
mais la Line serait alors positionnée par rapport à la grid du DataTemplate. Y'a-t-il un moyen de lui dire de se placer par rapport à l'ItemPresenter de la ListBox ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <Grid> <Ellipse ... /> <Line X1=0 Y1=0> <Line.X2> <Binding Path=RefItem.Position.X /> </Line.X2> <Line.Y2> <Binding Path=RefItem.Position.Y /> </Line.Y2> </Line> </Grid>
j'ai mis un petit projet d'exemple. (Le projet est simplissime au possible, je n'ai pas implémenté INotifyPropertyChanged, c'est pas ça la question ! )
Je voudrais que le point jaune soit relié au point rouge.
Merci
Partager