Bonjour
J'ai un datagrid avec nom fichier type extension. Je voudrais avoir un menu pour le Click droit comportant supprime ouvrir modifier.
Une piste pour m'indiquer comment faire ?
Merci de m'aider
Bonjour
J'ai un datagrid avec nom fichier type extension. Je voudrais avoir un menu pour le Click droit comportant supprime ouvrir modifier.
Une piste pour m'indiquer comment faire ?
Merci de m'aider
Dans le ItemContainerStyle du DataGrid, définis un ContextMenu :
Code XML : 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 <DataGrid Name="dg" ItemsSource="{Binding Items}"> <DataGrid.ItemContainerStyle> <Style TargetType="DataGridRow"> <Setter Property="ContextMenu"> <Setter.Value> <ContextMenu> <MenuItem Header="Ouvrir" Command="{Binding DataContext.OpenCommand, ElementName=dg}" CommandParameter="{Binding}" /> <MenuItem Header="Modifier" Command="{Binding DataContext.EditCommand, ElementName=dg}" CommandParameter="{Binding}" /> <MenuItem Header="Supprimer" Command="{Binding DataContext.DeleteCommand, ElementName=dg}" CommandParameter="{Binding}" /> </ContextMenu> </Setter.Value> </Setter> </Style> </DataGrid.ItemContainerStyle> </DataGrid>
(en supposant que les commandes soient définies au niveau du DataContext du DataGrid, sinon il faudra ajuster un peu les bindings)
ca marche mais j'ai une fonction openfile() et la commande click dans xaml génère des erreurs c'est quoi la solution
Sérieusement, mets toi à ma place et relis ta phrase... c'est complètement incompréhensible, d'autant plus que je ne connais pas ton code, et tu ne dis même pas quelle est l'erreur ! J'ai pas de boule de cristal, si tu ne donnes pas plus de détails je peux pas te dire ce qui ne va pas...
voici la fonction openfile() dans mon code
dans le code menu item je veut directement appele la fonction openfile en ajouton click a ton code.
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 private void openFile(object sender, RoutedEventArgs e) { ouvrieUnFichier openFile = new ouvrieUnFichier(selected, idPersonne, privilegeModifier); // classe ouvrir fichier }
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <MenuItem Header="Ouvrir" Command="{Binding DataContext.OpenCommand, ElementName=dg}" CommandParameter="{Binding}" click="openfile" />
j’espère que tu ma bien compris
Ah ok...
Soit tu utilises l'évènement Click, soit tu utilises les commandes, mais pas les deux... si tu veux utiliser l'évènement tu peux faire ça :
(attention aux majuscules/minuscules)
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part <MenuItem Header="Ouvrir" Click="openFile" />
Dans openFile, pour obtenir l'élément du DataGrid sur lequel on a cliqué, récupère le DataContext du sender :
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private void openFile(object sender, RoutedEventArgs e) { MenuItem menuItem = (MenuItem)sender; object selectedItem = menuItem.DataContext; ... }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager