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

Nom : Capture12.PNG
Affichages : 469
Taille : 44,2 Ko

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