Je dois modifier le menu contextuel de la boîte combo intégrée (Copier, Couper, Coller) en ajoutant des images d'icônes aux éléments de menu.Modification d'un menu contextuel pour la liste déroulante modifiable (WPF)
J'ai ajouté le menu contextuel souhaité à PART_EditableTextBox dans le modèle de contrôle ComboBox et inclus le modèle en tant que ressource.
<TextBox x:Name="PART_EditableTextBox"
Style="{x:Null}"
Template="{StaticResource ComboBoxTextBox}"
HorizontalAlignment="Left"
VerticalAlignment="Bottom"
Margin="3,3,23,3"
Focusable="True"
Background="Transparent"
Visibility="Hidden"
IsReadOnly="{TemplateBinding IsReadOnly}">
<TextBox.ContextMenu>
<ContextMenu>
<MenuItem Header="Copy"
Command="ApplicationCommands.Copy">
<MenuItem.Icon>
<Image Source="pack://application:,,,/testApp.UI;component/ViewModels/PngImages/Copy.ico" Style="{StaticResource ResourceKey=ImageStyleSmall}" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Cut"
Command="ApplicationCommands.Cut">
<MenuItem.Icon>
<Image Source="pack://application:,,,/testApp.UI;component/ViewModels/PngImages/Cut.ico" Style="{StaticResource ResourceKey=ImageStyleSmall}" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Paste"
Command="ApplicationCommands.Paste">
<MenuItem.Icon>
<Image Source="pack://application:,,,testApp.UI;component/ViewModels/PngImages/Paste.ico" Style="{StaticResource ResourceKey=ImageStyleSmall}" />
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
</TextBox.ContextMenu>
</TextBox>
Lorsque l'application fonctionne, le menu contextuel fonctionne comme prévu, mais l'effet secondaire est que ma zone de liste déroulante a perdu une frontière.
Je n'ai pas modifié ce modèle, ni aucun autre. Le modèle ComboBoxTextBox a un élément border. –