Что лучший способ состоит в том, чтобы обнаружить Ctrl+V в Silverlight?
Я хочу обнаружить Ctrl+V, получить доступ к Буферу обмена.
РЕДАКТИРОВАТЬ
Чтобы зафиксировать нажатие клавиши CTRL + V глобально в вашем приложении silverlight, это сопряжено с трудностями. События начинаются с дочерних элементов и переходят к родительским элементам управления, поэтому простая обработка KeyDown в корневом UIElement не сработает. Любой элемент управления вводом текста сначала получит событие и задушит его (установив для параметра Handled значение true в аргументах события). Я думаю, что если вы используете мост DOM и подписываете обработчик на событие KeyDown браузера для самого элемента silverlight, вы можете на самом деле быть в состоянии добраться до него первым и даже полностью обработать его, прежде чем это смогут сделать какие-либо элементы управления Silverlight. Я думаю, что это был бы самый простой способ перехватить CTRL + V , но я его не тестировал.
Исходный ответ
Вы должны использовать класс System.Windows.Clipboard .
if (e.Key == Key.V)
{
if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
{
//do what you want on paste
}
}
Вы должны использовать это в событии keyUp. Более подробную информацию можно найти здесь: http://msdn.microsoft.com/en-us/library/cc189015%28VS.95%29.aspx