Създаваме приложение, което използва бързи клавиши, това е уеб потребителски интерфейс към съществуващо приложение за Windows. Обикновено можете да проверите това
Keyboard.Modifiers == ModifierKeys.Alt
Въпреки това, когато използвате комбинации с Alt, браузърът улавя натискането на клавиш Alt, за да види дали може да се справи с него.
Единственият начин за заобикаляне на това, който съм виждал досега, е ръчно свързване към събитията на натискане на клавиши в DOM по следния начин:
System.Windows.Browser.HtmlPage.Document.Body.AttachEvent("onkeydown", new EventHandler<System.Windows.Browser.HtmlEventArgs>(OnBodyKeyDown));
След това накарайте вашия код да сигнализира с флаг дали клавишът Alt е натиснат или не. Това е описано тук.
KeyEventArgs
е запечатан, така че не можете просто да го повдигнете сами и не можете да зададете модификаторите директно.
Ясно е, че това не е идеална ситуация, някой има ли представа как това може да бъде постигнато по-добре?
[Работим със Silverlight 3.0.]