Я хочу переопределить поведение CTRL + X в текстовом поле с расширенным набором инструментов WPF. Я нашел способ сделать это с помощью обычного текстового поля, как показано ниже.
<TextBox GotKeyboardFocus="TextBox_GotKeyboardFocus"
Text="{Binding CurrentPageData.PrimaryName}"
Margin="2,0,0,2" Width="702" KeyDown="Textbox_KeyDown">
<TextBox.CommandBindings>
<CommandBinding Command="Cut" CanExecute="Cut_CanExecute" Executed="Cut_Executed"/>
<CommandBinding Command="Copy" CanExecute="Copy_CanExecute" Executed="Copy_Executed"/>
</TextBox.CommandBindings>
</TextBox>
По некоторым причинам, хотя это не работает для замаскированного текстового поля, даже если оно расширяет элемент управления текстового поля. Есть ли способ обойти это?
Это то, что я ожидал бы работать, но не:
<xctk:MaskedTextBox ValueDataType="{x:Type s:String}"
Mask="00/00/0000" GotKeyboardFocus="TextBox_GotKeyboardFocus"
Margin="2,0,2,0" Width="200" KeyDown="Textbox_KeyDown"
Value="{Binding CurrentPageData.BirthDate}"
NullValue="">
<xctk:MaskedTextBox.CommandBindings>
<CommandBinding Command="Cut" CanExecute="Cut_CanExecute" Executed="Cut_Executed"/>
<CommandBinding Command="Copy" CanExecute="Copy_CanExecute" Executed="Copy_Executed"/>
</xctk:MaskedTextBox.CommandBindings>
</xctk:MaskedTextBox>