Tôi có một addin Outlook (VSTO), trên vùng biểu mẫu Outlook, tôi có quyền kiểm soát người dùng WPF trong một ElementHost. Tôi có một vấn đề là một TextBox trong điều khiển người dùng của tôi không có khả năng hoàn tác ... trong một số cấu hình. Cụ thể trong Windows 7/Outlook 2007 hoàn tác (tức là Ctrl-Z) không hoạt động, mặc dù Cắt/Sao chép vv tất cả đều hoạt động. Điều thú vị là Windows 8/Outlook 2010 hoàn tác không hoạt động.Hộp văn bản WPF không cho phép Hoàn tác khi được lưu trữ trong một phần tử trong một bổ trợ VSTO/Outlook
Các TextBox XAML là:
<TextBox
Name="txtnote"
VerticalScrollBarVisibility="Auto"
SpellCheck.IsEnabled="True"
Text="Topic notes..."
TextWrapping="Wrap"
AcceptsReturn="True" />
Lưu ý: Tôi đã cố gắng thiết lập các thuộc tính sau đây để làm cho nó hoạt động nhưng không có kết quả: IsUndoEnabled = "True" UndoLimit = "- 1"
Can bất cứ ai đề nghị tại sao điều này xảy ra và những gì tôi có thể làm để làm cho nó hoạt động như mong đợi?
CẬP NHẬT 07 Tháng Một 2014. Tôi đã thêm Keybindings sau vào hộp văn bản:
<TextBox.InputBindings>
<KeyBinding Command="ApplicationCommands.Undo" Key="Z" Modifiers="Control" />
<KeyBinding Command="ApplicationCommands.Redo" Key="Y" Modifiers="Control" />
<KeyBinding Command="ApplicationCommands.Undo" Key="G" Modifiers="Alt" />
</TextBox.InputBindings>
Và kết quả là - Ctrl-Z/Cntrl-Y vẫn không hoạt động, tuy nhiên Alt- G không hoạt động!
Thats lẻ, một cái gì đó trong hệ thống ống nước phải thay đổi. * Excel chặn tất cả các đầu vào bàn phím từ các cửa sổ con không phải Excel trong quá trình của nó. * Sự tò mò không hoàn tác sau khi dán công việc lập trình? 'Clipboard.SetText (" Hoàn tác tôi "); TextBox.Paste(); ' –
Hi Jeremy - cảm ơn vì điều đó. Không, hoàn tác (tức là nhấn Cntl-Z) sau khi dán chương trình không hoạt động. Tuy nhiên tôi cũng đã cố gắng thực hiện hoàn tác từ ngăn xếp hoàn tác và điều đó không hoạt động. tức là: if (txtnote.CanUndo == true) {txtnote.Undo();} else {MessageBox.Show ("Can't Undo");} – Marcin
Sp có vẻ như Control-Z/Control-Y đang bị tấn công một vài nơi. – Marcin