Bonjour,

J'ai une vue de configuration avec 4 onglets qui se créer dynamiquement (une GridView), le contenue étant dans ObservableCollection<MaxiSetup> MyMaxiSetupListDataDisplay.

Voici la gridview:

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<ListView Margin="10" x:Name="lvUsers"  
                          ItemsSource="{Binding MyMaxiSetupListDataDisplay}" 
                          Width="{Binding ElementName=MainGrid,Path=ActualWidth}" 
                          HorizontalAlignment="Stretch">
                <ListView.View>
                    <GridView>
                        <GridViewColumn x:Name="ColonneName1" Width="600">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Path=AFFICHAGE}" TextWrapping="WrapWithOverflow" Foreground="#555667"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn x:Name="ColonneName2" Width="220">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Canvas Width="Auto" Height="10">
                                        <TextBox Text="{Binding PARAM_VALUE, UpdateSourceTrigger=PropertyChanged}" 
                                                 MinWidth="80" Width="80"  
                                                 Visibility="{Binding Path=ISNUMBER}"/>
                                        <TextBox Text="{Binding PARAM_VALUE, UpdateSourceTrigger=PropertyChanged}" 
                                                 MinWidth="150" Width="200" 
                                                 Visibility="{Binding Path=ISTEXT}"/>
                                        <TextBlock x:Name="LBL_Setup"  
                                                   Text="{Binding PARAM_VALUE, UpdateSourceTrigger=PropertyChanged}" 
                                                   MinWidth="150" Width="200" 
                                                   Visibility="{Binding Path=ISLABEL}" 
                                                   PreviewMouseLeftButtonDown="LBL_Setup_PreviewMouseLeftButtonDown"/>
                                        <CheckBox IsChecked="{Binding Path=BoolValue}" 
                                                  Visibility="{Binding Path=ISBOOL}" 
                                                  HorizontalAlignment="Center"/>
                                        <ComboBox ItemsSource="{Binding Path=PARAM_LIST_COMBO}"
                                                  SelectedItem="{Binding Path=ComboSelectItem}"
                                                  DisplayMemberPath="Name"
                                                  MinWidth="150" 
                                                  Visibility="{Binding Path=ISCOMBO}"/>
                                        <PasswordBox MinWidth="200"  Visibility="{Binding Path=ISPASS}">
                                            <i:Interaction.Triggers>
                                                <i:EventTrigger EventName="PasswordChanged">
                                                    <i:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=PasswordBox}}" 
                                                                           CommandParameter="{Binding ElementName=PasswordBox}"/>
                                                </i:EventTrigger>
                                            </i:Interaction.Triggers>
                                        </PasswordBox>
                                    </Canvas>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                    </GridView>
                </ListView.View>
            </ListView>

La 2eme colonne est donc paramétrable en affichant soit un texte (texte ou numero), un Label, une Checkbox, un Combobox, ou une PasswordBox (Sachant que j'en ai qu'une, c'est le mot de passe d'une base de données).

J'arrive à récupérer le mot de passe à l'aide des Triggers et l'élement PasswordChanged.

Par contre lorsque l'on ouvre cette vue j'aimerai que le mot de passe soit de nouveau renseigner dans la passwordbox, car actuellement l'utilisateur à l'impression qu'il n'y a rien de renseigné. Bien sûr je ne veux pas que ce soit en clair.

Bien sûr : <PasswordBox MinWidth="200" Visibility="{Binding Path=ISPASS}" Password="{Binding Path=MonPassword}">, ne fonctionne pas avec les sécurités lié à cet object graphique.

Auriez vous une solution ?