public bool RunContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model,
IRunContextMenuCallback callback) {
callback.Dispose();
Application.Current.Dispatcher.Invoke(() => {
var menu = new ContextMenu {
Items = {
new MenuItem {
Header = "Back",
Command = new DelegateCommand(browser.GoBack, () => browser.CanGoBack)
},
new MenuItem {
Header = "Forward",
Command = new DelegateCommand(browser.GoForward, () => browser.CanGoForward)
},
new MenuItem {
Header = "Refresh",
Command = new DelegateCommand(() => browser.Reload(true))
},
new Separator(),
new MenuItem {
Header = "Select All",
Command = new DelegateCommand(() => browser.FocusedFrame.SelectAll())
},
new MenuItem {
Header = "Open Page In Default Browser",
Command = new DelegateCommand<string>(WindowsHelper.ViewInBrowser),
CommandParameter = frame.Url
},
}
};
menu.IsOpen = true;
});
return true;
}
}