Example T461248
Visible to All Users

Reporting for WPF - How to Customize Keyboard Shortcuts

This sample illustrates how to customize the default hotkeys of the Report Designer for WPF (both in XAML and in code).

Files to Review

Documentation

Does this example address your development requirements/objectives?

(you will be redirected to DevExpress.com to submit your response)

Example Code

T461248/MainWindow.xaml
XAML
<Window x:Class="T461248.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxrud="http://schemas.devexpress.com/winfx/2008/xaml/reports/userdesigner" xmlns:mvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm" xmlns:local="clr-namespace:T461248" Title="MainWindow" Height="800" Width="1200" FocusManager.FocusedElement="{Binding ElementName=designer}"> <mvvm:Interaction.Behaviors> <dx:DXMessageBoxService /> </mvvm:Interaction.Behaviors> <dxrud:ReportDesigner Name="designer" DocumentSource="{Binding Report, Mode=OneWay}"> <dxrud:ReportDesigner.InputBindings> <KeyBinding Key="Q" Modifiers="Control+Shift" Command="{Binding ElementName=designer, Path=ActualCommands.ExitCommand}" /> </dxrud:ReportDesigner.InputBindings> </dxrud:ReportDesigner> </Window>
T461248/MainWindow.xaml.cs(vb)
C#
using DevExpress.XtraReports.UI; using System.Windows; using System.Windows.Input; using DevExpress.Mvvm; namespace T461248 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); Loaded += MainWindow_Loaded; } void MainWindow_Loaded(object sender, RoutedEventArgs e) { var viewModel = new MainWindowViewModel(new SampleReport()); DataContext = viewModel; designer.RegisterHotKey(Key.OemTilde, ModifierKeys.Control, () => viewModel.TestCommand, null); } } public class MainWindowViewModel : ViewModelBase { public XtraReport Report { get; private set; } public ICommand TestCommand { get; private set; } public MainWindowViewModel(XtraReport report) { Report = report; TestCommand = new DelegateCommand(RunTestCommand); } void RunTestCommand() { GetService<IMessageBoxService>().ShowMessage("Test command."); } } }

Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.