private void ShowRecentDocumentsHandler(object sender, ExecutedRoutedEventArgs args) { if (WorkDocumentCollection.RecentDocuments.Count == 0) { return; } RecentFileMenu.HorizontalOffset = (Width - 240) / 2; RecentDocumentsMenuClosedHandler(null, null); var items = new List <RecentFileItem>(); for (var i = 0; i < WorkDocumentCollection.RecentDocuments.Count; i++) { var item = new RecentFileItem(WorkDocumentCollection.RecentDocuments[i], i); items.Add(item); RecentFileMenu.CommandBindings.Add(new CommandBinding(item.Command, OpenRecentFileHandler)); if (i < 10) { var shortcut = (Key)Enum.Parse(typeof(Key), String.Format(CultureInfo.InvariantCulture, "NumPad{0}", i)); RecentFileMenu.InputBindings.Add(new KeyBinding(item.Command, shortcut, ModifierKeys.None) { CommandParameter = item.WorkDocument }); } } RecentFileMenu.ItemsSource = items; RecentFileMenu.IsOpen = true; }
private void ShowRecentDocumentsHandler(object sender, ExecutedRoutedEventArgs e) { if (WorkDocumentCollection.RecentDocuments.Count == 0) { return; } RecentFileMenu.HorizontalOffset = (Width - 240) / 2; RecentDocumentsMenuClosedHandler(null, null); var items = new List<RecentFileItem>(); for (var i = 0; i < WorkDocumentCollection.RecentDocuments.Count; i++) { var item = new RecentFileItem(WorkDocumentCollection.RecentDocuments[i], i); items.Add(item); RecentFileMenu.CommandBindings.Add(new CommandBinding(item.Command, OpenRecentFileHandler)); if (i < 10) { var shortcut = (Key)Enum.Parse(typeof(Key), String.Format(CultureInfo.InvariantCulture, "NumPad{0}", i)); RecentFileMenu.InputBindings.Add(new KeyBinding(item.Command, shortcut, ModifierKeys.None) { CommandParameter = item.WorkDocument }); } } RecentFileMenu.ItemsSource = items; RecentFileMenu.IsOpen = true; }