311 messaggi dal 25 novembre 2010
ciao!

dovrei impostare una scorciatoia da tastiera per chiudere un programma con la combinazione Ctrl+Q.
ho fatto diversi tentativi, ma sinceramente non riesco a uscirne fuori:
<Window x:Class="B2B.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="B2B" Height="800" Width="800" WindowStartupLocation="CenterScreen" ResizeMode="NoResize">
    <Window.InputBindings>
        <KeyBinding Key="Q" Modifiers="Control" Command="ApplicationCommands.Close" />
    </Window.InputBindings>
    <DockPanel>
        <Menu DockPanel.Dock="Top">
            <MenuItem Header="_File" Name="File">
                <Separator />
                <MenuItem Header="_Exit" Name="Exit" Click="MenuItem_Click" InputGestureText="Ctrl+Q" />
            </MenuItem>
        </Menu>
        <DataGrid />
    </DockPanel>
</Window>

qualche suggerimento?
Modificato da fermat il 25 febbraio 2015 11.13 -
311 messaggi dal 25 novembre 2010
così funziona tutto:
<Window x:Class="B2B.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="B2B" Height="800" Width="800" WindowStartupLocation="CenterScreen" ResizeMode="NoResize">
    <Window.InputBindings>
        <KeyBinding Modifiers="Control" Key="Q" Command="{Binding exitCmd}" />
    </Window.InputBindings>
    ..........................
</Window>

e questo il codice:
public MainWindow()
        {
            InitializeComponent();
            AddKeys();
        }

        private void AddKeys()
        {
            RoutedCommand exitCmd = new RoutedCommand();
            exitCmd.InputGestures.Add(new KeyGesture(Key.Q, ModifierKeys.Control));
            CommandBindings.Add(new CommandBinding(exitCmd, ExitHandler));
        }

        private void ExitHandler(object sender, ExecutedRoutedEventArgs e)
        {
            this.Close();
        }
.......
}

ciao!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.