[ad_1]
J’ai un DataGrid avec un DataGridTemplateColumn. Je ne parviens pas à modifier le champ Commentaire. Lorsque je double-clique sur un champ Commentaire, l’arrière-plan change comme prévu. LightSalmon
et le contenu de la propriété liée Comment
s’affiche mais je ne peux pas modifier le contenu.
Ce que j’ai essayé :
<DataGridTemplateColumn IsReadOnly="False" Header="Comment" MinWidth="80"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Background="LightGray" Margin="5" MinHeight="35" TextAlignment="Center" Text="{Binding Comment, Mode=OneWay}" IsEnabled="True" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> <DataGridTemplateColumn.CellEditingTemplate> <DataTemplate> <TextBlock Background="LightSalmon" Opacity="0.5" Margin="5" MinHeight="35" TextAlignment="Center" Text="{Binding Comment}" IsEnabled="True" /> </DataTemplate> </DataGridTemplateColumn.CellEditingTemplate>
Solution 1
Gerry a donné la solution, pour développer cela –
Le TextBlock est un contrôle en lecture seule, et c’est pourquoi vous ne pouvez pas modifier le contenu lorsque vous double-cliquez dessus – MS Apprendre | Classe TextBlock[^]
Pour utiliser l’édition, vous devez utiliser un contrôle modifiable tel que « TextBox » dans votre « CellEditingTemplate » –
<DataGridTemplateColumn IsReadOnly="False" Header="Comment" MinWidth="80"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Background="LightGray" Margin="5" MinHeight="35" TextAlignment="Center" Text="{Binding Comment, Mode=OneWay}" IsEnabled="True" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> <DataGridTemplateColumn.CellEditingTemplate> <DataTemplate> <TextBox Background="LightSalmon" Margin="5" MinHeight="35" TextAlignment="Center" Text="{Binding Comment, UpdateSourceTrigger=PropertyChanged}" IsEnabled="True" /> </DataTemplate> </DataGridTemplateColumn.CellEditingTemplate> </DataGridTemplateColumn>
Le ‘TextBox’ dans ‘CellEditingTemplate’ permet la saisie de votre utilisateur, et ‘UpdateSourceTrigger=PropertyChanged’ garantit que la propriété source est mise à jour au fur et à mesure que votre utilisateur tape.
[ad_2]
コメント