Récupérer la valeur éditée dans le Combobox
Bonjour,
Je crée une application WPF en essayant de suivre le pattern MVVM (MVVM Light).
J'ai un Datagrid qui contient 3 colonne.
1 colonne de texte
2 colonnes avec une combobox chacune.
Voici le code des combobox :
Code:
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 52 53 54 55 56 57 58 59 60
|
<DataGrid
Name="dataGridMapingMissing"
ItemsSource="{Binding ItemsToAddToTheCurrentCsvFile, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
HorizontalAlignment="Left"
Margin="38,10,0,0"
VerticalAlignment="Top" Height="265" Width="584"
CanUserAddRows="False"
ColumnWidth="*"
Grid.ColumnSpan="2"
AutoGenerateColumns="False"
CanUserSortColumns="False">
<DataGrid.Columns>
<DataGridTextColumn
Header="Skill Name"
Binding="{Binding SkillName, UpdateSourceTrigger=PropertyChanged}">
</DataGridTextColumn>
<DataGridTemplateColumn
Header="Skill Mapping">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox
IsEditable="True"
ItemsSource="{Binding DataContext.ListMapping ,
UpdateSourceTrigger=PropertyChanged,
RelativeSource={RelativeSource AncestorType=Window}}"
SelectedItem="{Binding SkillMapping, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
SelectedValue="{Binding SkillMapping, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
FontSize="20"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Skill Group">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox
IsEditable="True"
ItemsSource="{Binding DataContext.SkillGroupCollection,
UpdateSourceTrigger=PropertyChanged,
RelativeSource={RelativeSource AncestorType=Window}}"
SelectedItem="{Binding SkillGroup, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
SelectedValue="{Binding SkillGroup, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
FontSize="20"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
<Button
Content="Save Modification"
Name="btSaveModificationGridMapping"
Margin="270,285,271,23"
RenderTransformOrigin="3.099,0.436"
Command="{Binding SaveUpdatedMappingFile}"
Click="btSaveModificationGridMapping_Click"
Grid.ColumnSpan="2"
/> |
La valeur entré dans le combobox au clavier, n'est pas toujours sauvegardé lorsque je clique sur le bouton sauvegarder.
Par contre lorsque je selectionne des éléments dans les combobox, elles sont bien sauvegarder.
J'ai l'impression que si je tape une nouvelle valeur dans le combobox(et que cette valeur n'existe donc pas encore dans le combobox), elle n'est pas prise en compte.
Je ne comprend pas trop pourquoi.
Pouriez-vous m'aider avec ce problem s'il vous plait?
Vous faut-il encore d'autre information?
Merci d'avance pour vos lumières.
Bien à vous,