Встроенный элемент управления браузера WPF не позволит вам настраивать настраиваемое контекстное меню.
Это становится еще хуже; в то время как ваша мышь находится над компонентом браузера, или если она имеет фокус, она не будет захватывать события, созданные вашим входом.
Способом этого является использование браузера браузера окон в WindowsFormsHost.
Чтобы начать, добавьте Windows.Forms
в свои проекты.
Затем, сделать что-то вроде следующего:
XAML:
<Window x:Class="blarb.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<WindowsFormsHost Name="windowsFormsHost" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
</Grid>
</Window>
C# код:
public partial class MainWindow : Window
{
private System.Windows.Forms.WebBrowser Browser;
public MainWindow()
{
InitializeComponent();
//initialise the windows.forms browser component
Browser = new System.Windows.Forms.WebBrowser
{
//disable the default context menu
IsWebBrowserContextMenuEnabled = false
};
//make a custom context menu with items
System.Windows.Forms.ContextMenu BrowserContextMenu = new System.Windows.Forms.ContextMenu();
System.Windows.Forms.MenuItem MenuItem = new System.Windows.Forms.MenuItem {Text = "Take Action"};
MenuItem.Click += MenuItemOnClick;
BrowserContextMenu.MenuItems.Add(MenuItem);
Browser.ContextMenu = BrowserContextMenu;
//put the browser control in the windows forms host
windowsFormsHost.Child = Browser;
//navigate the browser like this:
Browser.Navigate("http://www.google.com");
}
private void MenuItemOnClick(object sender, EventArgs eventArgs)
{
//will be called when you click the context menu item
}
}
Это еще не объясняет, как сделать свой первый план, хотя ,
Вы можете прослушать событие, запущенное компонентом браузера после его загрузки, а затем заменить часть загруженного документа, введя код html для выделения.
Имейте в виду, что это может быть сложно в некоторых ситуациях (при выборе текста через divs
, spans
или paragraphs
, например)
Это вопрос? чего именно вы хотите достичь? что вы пробовали? мы можем увидеть какой-то код? –
Я отредактировал вопрос – sansa
для тех, кто проголосовал, не могли бы вы объяснить почему? !! или указание, если это дублирование – sansa