|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre émérite
![]() Antoine Développeur .NET Inscription : mars 2010 Messages : 586 ![]() |
Salut,
Je propose une nouvelle classe à ajouter (je l'espère Elle permet, via une propriété attachée, de binder la propriété Blocks d'un FlowDocument à une collection (List<Block> par exemple). Code c# :
__________________
Un logiciel pour gérer vos mangas ? C'est ici |
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 17 770 ![]() |
Bonne idée
![]() Juste une petite remarque : ce serait bien de gérer le cas où la collection bindée implémente INotifyCollectionChanged, de façon à ce que les éléments ajoutés ensuite à la collection soient ajoutés au FlowDocument
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|
00
|
|
|
#3 | ||
|
Membre émérite
![]() Antoine Développeur .NET Inscription : mars 2010 Messages : 586 ![]() |
Voici la classe modifiée :
Code c# :
__________________
Un logiciel pour gérer vos mangas ? C'est ici |
||
|
|
00
|
|
|
#4 |
![]() ![]() ![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 17 770 ![]() |
Bah non, tu peux pas faire comme ça... si tu stockes le FlowDocument dans un champ statique de la classe, ça fait que tu ne peux jamais utiliser plus d'un FlowDocument dans ton programme. Il faut trouver une autre solution...
Une possibilité est de créer une classe spécifique pour gérer la "synchronisation" entre la collection et le FlowDocument, et de stocker un objet de cette classe dans une autre propriété attachée (privée et en lecture seule), pour l'associer au FlowDocument.
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|
00
|
|
|
#6 | ||
|
Membre émérite
![]() Antoine Développeur .NET Inscription : mars 2010 Messages : 586 ![]() |
J'ai corrigé le code en m'aspirant de tes remarques :
Code c# :
J'ai testé avec deux collections bindés sur deux FlowDocument et ça fonctionne (ajout, suppression d'éléments).
__________________
Un logiciel pour gérer vos mangas ? C'est ici |
||
|
|
00
|
|
|
#7 | ||
![]() ![]() ![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 17 770 ![]() |
C'est à peu près ce que j'avais en tête
![]() Par contre, encore un petit truc qui ne va pas : tu ne te désabonnes pas de l'évènement CollectionChanged quand la propriété BindableBlocks change, ce qui peut causer des fuites mémoires (voire des bugs si l'ancienne collection est modifiée alors même qu'elle n'est plus bindée) Il faudrait faire quelque chose comme ça : Code :
Je fais quelques tests et j'intègre ça à Dvp.NET
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
||
|
10
|
|
|
#8 |
|
Membre émérite
![]() Antoine Développeur .NET Inscription : mars 2010 Messages : 586 ![]() |
Ok, super !
Merci pour tes propositions qui ont permis d'améliorer la classe et qui m'ont aussi appris quelques trucs. ![]() Je mettrai quand ça sera intégré au projet.
__________________
Un logiciel pour gérer vos mangas ? C'est ici |
|
|
00
|
|
|
#9 |
![]() ![]() ![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 17 770 ![]() |
C'est intégré, ce sera dans la prochaine release
Merci pour ta contribution
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|
00
|
Copyright © 2000-2013 - www.developpez.com