En utilisant le code ci-dessous dans un DataGridTemplateColumn du DataGrid, mes boutons de mise en forme sont désactivées (grisées). Les boutons de formatage sont seulement activés lorsqu'ils sont mis dans une barre d'outils.EditingCommands du WPF RichTextBox lâche sa liaison quand ils ne sont pas mis dans un ToolBar
Lorsque les boutons sont placés dans un ToolBar je ne l'ont pas besoin CommandTarget. Donc, quand je les ai mis à l'extérieur d'une barre d'outils, certains pourraient penser qu'il doit fonctionner avec CommandTarget, mais ce n'est pas le cas, pourquoi?
<Button Content="K" CommandTarget="{Binding ElementName=RTFBox}" Command="EditingCommands.ToggleItalic"/>
<Button Content="U" CommandTarget="{Binding ElementName=RTFBox}" Command="EditingCommands.ToggleUnderline" />
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Helper:RichTextBox VerticalScrollBarVisibility="Auto" x:Name="RTFBox" LostFocus="RTFBox_LostFocus" Text="{Binding Notes, UpdateSourceTrigger=PropertyChanged}" >
<Helper:RichTextBox.TextFormatter>
<Helper:RtfFormatter />
</Helper:RichTextBox.TextFormatter>
<RichTextBox.CommandBindings>
<CommandBinding Command="EditingCommands.ToggleUnderline"/>
<CommandBinding Command="EditingCommands.ToggleItalic"/>
</RichTextBox.CommandBindings>
</Helper:RichTextBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>