J'écris un programme WPF en C# qui doit restituer un ensemble de fichiers dans un navigateur de fichiers à l'utilisateur final. Le contrôle ExplorerBrowser trouvé à l'intérieur du Microsoft Windows API CodePack contient la plupart des fonctionnalités dont j'ai besoin ... par ex. Les vignettes de différentes tailles, le tri, la navigation, etc ...Extension d'ExplorerBrowser à partir du Pack de code API Windows pour afficher les fichiers autres que des fichiers de fichiers
Le problème est que les fichiers ne proviennent pas du disque, mais sont disponibles via un protocole de transfert réseau personnalisé. Je pensais à l'origine que je pouvais simplement étendre la classe ShellObjectContainer et les classes ShellObject pour fournir les fonctionnalités dont j'ai besoin, en construisant essentiellement un adaptateur. Cependant, j'ai rencontré des difficultés car ces classes utilisent des constructeurs internes. Dans l'ensemble, il semble que cette API soit plutôt hostile à l'extension, est-il possible d'étendre ces composants pour faire ce dont j'ai besoin, ou est-il préférable de reconstruire beaucoup de fonctionnalités ExplorerBrowsers en créant un composant WPF personnalisé, peut-être en étendant ListBox?