WPF mi permette di legare facilmente tasti di scelta rapida a livello di finestra per un metodo che utilizza la proprietà InputBindings. Qual è l'equivalente di questo in WinRT? Qual è il modo giusto per associare le scorciatoie da tastiera ai metodi in WinRT?qual è l'equivalente WinRT di InputBindings?
risposta
tasti funzione sono descritti here. Penso che tu voglia o access keys o accelerator keys.
Una chiave di accesso è una scorciatoia per un pezzo di interfaccia utente nella tua app. I tasti di accesso sono costituiti dal tasto Alt più un tasto lettera.
Un tasto di scelta rapida è una scorciatoia per un comando di app. La tua app potrebbe avere o meno un'interfaccia utente che corrisponde esattamente al comando. I tasti di scelta rapida sono costituiti dal tasto Ctrl più un tasto lettera.
L'esempio seguente illustra l'implementazione accessibile di tasti di scelta rapida per il gioco dei media, mettere in pausa e fermare i pulsanti:
<MediaElement x:Name="Movie" Source="sample.wmv"
AutoPlay="False" Width="320" Height="240"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<Button x:Name="Play" Margin="1,2"
ToolTipService.ToolTip="shortcut key: Ctrl+P"
AutomationProperties.AccessKey="Control P">
<TextBlock><Underline>P</Underline>lay</TextBlock>
</Button>
<Button x:Name="Pause" Margin="1,2"
ToolTipService.ToolTip="shortcut key: Ctrl+A"
AutomationProperties.AccessKey="Control A">
<TextBlock>P<Underline>a</Underline>use</TextBlock>
</Button>
<Button x:Name="Stop" Margin="1,2"
ToolTipService.ToolTip="shortcut key: Ctrl+S"
AutomationProperties.AccessKey="Control S">
<TextBlock><Underline>S</Underline>top</TextBlock>
</Button>
</StackPanel>
<object AutomationProperties.AcceleratorKey="ALT+F" />
risposta di vedere @ Magiel per i dettagli di implementazione per il lato codice delle cose.
Importante !! Impostazione AutomationProperties.AcceleratorKey o AutomationProperties.AccessKey non abilita la funzionalità della tastiera. Riferisce solo al framework di automazione dell'interfaccia utente quali chiavi devono essere utilizzate, in modo che tali informazioni possano essere trasmesse agli utenti tramite tecnologie assistive. L'implementazione per la gestione delle chiavi deve ancora essere eseguita nel codice, non in XAML.
protected override void OnNavigatedTo(NavigationEventArgs e)
{
// Set the input focus to ensure that keyboard events are raised.
this.Loaded += delegate { this.Focus(FocusState.Programmatic); };
}
private void Grid_KeyUp(object sender, KeyRoutedEventArgs e)
{
if (e.Key == VirtualKey.Control) isCtrlKeyPressed = false;
}
private void Grid_KeyDown(object sender, KeyRoutedEventArgs e)
{
if (e.Key == VirtualKey.Control) isCtrlKeyPressed = true;
else if (isCtrlKeyPressed)
{
switch (e.Key)
{
case VirtualKey.P: DemoMovie.Play(); break;
case VirtualKey.A: DemoMovie.Pause(); break;
case VirtualKey.S: DemoMovie.Stop(); break;
}
}
}
- 1. Qual è l'equivalente per SecureString in WinRT?
- 2. Definire InputBindings nello stile
- 3. Definizione di InputBindings all'interno di uno stile
- 4. System.Reflection.Assembly.GetExecutingAssembly() in WinRT
- 5. Sostituzione WinRT di System.Environment.TickCount
- 6. È possibile creare un IME in WinRT?
- 7. WinRt. Gestore UnhandledException. StackTrace è nullo
- 8. Qual è la sintassi per dichiarare una proprietà WinRT C++/CX con implementazione nel file .cpp?
- 9. Gestione immagini WinRT
- 10. Codifica stream WinRT
- 11. Winrt GridView Virtualization
- 12. Macro per riconoscere WinRT?
- 13. WinRT XAML Transizione personalizzata
- 14. Type.GetType case insensitive - WinRT
- 15. WinRT SQLite Encryption
- 16. AppBarButtonSyle per WinRT
- 17. equivalente a WinRT di questi metodi di coltura .Net?
- 18. WinRT ha Garbage Collection?
- 19. Proprietà ClipToBounds in WinRT
- 20. WinRT - Client TCP?
- 21. WinRT & Light Tema
- 22. HttpUtility.HtmlDecode in WinRT
- 23. WinRT e WPF in Windows 8
- 24. UI di aggiornamento da thread in WinRT
- 25. È possibile creare applicazioni WinRT su Windows 7?
- 26. È possibile modificare l'User-Agent per un HttpWebRequest WinRT?
- 27. È possibile creare un progetto WinRT con cmake?
- 28. Utilizzo di FadeInThemeAnimation come transizione in WinRT
- 29. WinRT XAML Toolkit Errore di visualizzazione
- 30. Targeting di WinRT tramite LLVM o GCC
E per quanto riguarda MouseBinding? Vedi la domanda StackOverflow http://stackoverflow.com/a/7354984. –
@ Stefano.net Non sono sicuro di cosa intendi. Che dire del binding del mouse? – mydogisbox
Collegamento di eventi del mouse tramite InputBinding (o equivalente) a oggetti che non vengono gestiti direttamente come un rettangolo, ad esempio. –