Bonjour
J'ai un petit souci j'arrive pas faire une communication des contrôles entre la 2ème fenêtre et la principale MainWindow
J'aimerais faire ceci
1) quand l’utilisateur active la 1 checkbox dans la fenêtre Configuration, il crée une colonne dans la datagrid de la fenêtre principale : est-ce possible de le faire ?
2) Concernant les colonnes et il y a deux type DataGridTextColumn et DataGridTemplateColumn qui va contenir mon UserControl
3) prendre le content de la checkbox sélectionner et le mettre dans la colonne = Header et aussi d'autre chose comme la couleur
4) Par la suite j'aimerais pouvoir exporter/importer le contenu de ma datagrid en xml : comment faire si les colonnes mis par l'utilisateur ne sont pas toujours les mêmes ?
Voici en image + code
Merci d'avance pour votre aide
XAML
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
16 <Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApDatagridTest" mc:Ignorable="d" Title="MainWindow" Height="387" Width="549"> <Grid> <DataGrid x:Name="dataGrid" HorizontalAlignment="Left" Margin="35,75,0,0" VerticalAlignment="Top" Height="215" Width="484"/> <Button x:Name="button" Content="Setting" Margin="444,23,22,0" VerticalAlignment="Top"/> <Button x:Name="button1" Content="Import" HorizontalAlignment="Left" Margin="35,23,0,0" VerticalAlignment="Top" Width="75"/> <Button x:Name="button2" Content="Export" HorizontalAlignment="Left" Margin="140,23,0,0" VerticalAlignment="Top" Width="75"/> </Grid> </Window>
VB.NET Configuration
Code : 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 public Class Configuration Dim wm As New MainWindow Private Sub checkBox1_Checked(sender As Object, e As RoutedEventArgs) Handles checkBox1.Checked If checkBox1.IsChecked Then Dim col0 As New DataGridTemplateColumn 'User control ?? col0.DisplayIndex = 0 col0.Header = checkBox1.Content wm.dataGrid.Columns.Add(col0) 'Fonctionne pas End If End Sub End Class
Partager