메뉴 항목에 아이콘 이미지를 추가하여 기본 제공 콤보 상자 상황에 맞는 메뉴 (복사, 잘라 내기, 붙여 넣기)를 수정해야합니다.편집 가능한 콤보 상자 (WPF)의 컨텍스트 메뉴 수정
ComboBox 컨트롤 템플릿의 PART_EditableTextBox에 원하는 컨텍스트 메뉴를 추가하고 템플릿을 리소스로 포함했습니다. 응용 프로그램이 실행되면 계획대로
<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>
은, 상황에 맞는 메뉴가 작동하지만 부작용은 내 콤보 상자 테두리를 잃은 것입니다.
나는 그 템플릿이나 다른 템플릿을 수정하지 않았습니다. ComboBoxTextBox 템플릿에는 테두리 요소가 있습니다. –