Bonjour à tous,
Peut être que je me casse la tête pour rien mais je me demandais quelle option était la meilleure entre deux solutions, point de vu lisibilité du code, mais également bonne habitudes.
Je dois changer le contenu d'un panel à gauche avec une combobox (c'est réglé), ce panel de gauche va aller piocher dans les résultats d'une Collection générée par une requêtes sqlite, et générer des boutons en relation. J'ai donc tout un taff de mise en forme d'autant que pour une des requêtes je vais faire une arbo à deux étages, sans quoi je me serais limité à changer l'itemsource. Ce panel de gauche pilote l'affichage d'un panel à droite quand on clique sur un des boutons générés, en interrogeant le contenu de la base.
Du coup niveau solution je m'interrogeais sur deux possibilités.
- La première assez classique, consiste à masquer ce qu'on ne veut pas afficher... Mais ça ne m'emballe pas trop car niveau lisibilité je fais partie des gens assez allergiques aux pavés, je me perds vite, j'aime bien segmenter.
- La seconde passerait par faire un Control utilisateur, j'ai déjà testé, ça se passe sans soucis jusqu'aux events... Là je vois deux solutions, soit utiliser un Func<> que j'utiliserais au clic et ça sera donc une fonction de la genêtre principale, soit générer un event (Je pourrais même rendre les boutons accessibles, mais bon... ) auquel jevais abonner une fonction depuis la fenêtre principale.
Si vous avez d'autres solutions en tête je suis preneur. J'ai déjà en tête une bonne dizaine de possibilités à faire via ce panneau qui sert à composer ou filter les requêtes et le panneau de droite servira à afficher lui même sous plusieurs présentations, je me dis que tout mettre dans la même fenêtre va être rapidement incompréhensible. D'ordinaire je passe plus par une solution comme la deux mais je me demandais ce qu'on préconisait "officiellement" dans des situations pareilles (je rappelle que je suis autodidacte). J'aimerai au max également conserver l'intérêt du wpf donc de ne pas utiliser la partie code c# pour générer du code wpf, du moins autant que possible.
Actuellement pour générer le menu de gauche en wpf j'utilise ça, je ne gère pas encore les events comme vous pouvez constater:
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <Grid> <ItemsControl ItemsSource="{Binding Machines}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Vertical"/> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <Button Content="{Binding Machine}" Tag="{Binding ID}"/> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </Grid>
Partager