powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / wpf, WebBrowser, HTML строка вместо URL сайта
5 сообщений из 5, страница 1 из 1
wpf, WebBrowser, HTML строка вместо URL сайта
    #38658390
Фотография Gena928
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый,
надо поставить на форму контрол WebBrowser и отобразить в нем собственную HTML разметку. Т.е. передать HTML из MVVM класса. Не получается :-(

В гугле куча примеров (например вот этот: http://stackoverflow.com/questions/4202961/can-i-bind-html-to-a-wpf-web-browser-control , но как они работают я не понял. Поясните пожалуйста.
1) Создается свойство для WebBrowser
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
public class BrowserBehavior
{
    public static readonly DependencyProperty HtmlProperty = DependencyProperty.RegisterAttached(
            "Html",
            typeof(string),
            typeof(BrowserBehavior),
            new FrameworkPropertyMetadata(OnHtmlChanged));

    [AttachedPropertyBrowsableForType(typeof(WebBrowser))]
    public static string GetHtml(WebBrowser d)
    {
        return (string)d.GetValue(HtmlProperty);
    }

    public static void SetHtml(WebBrowser d, string value)
    {
        d.SetValue(HtmlProperty, value);
    }

    static void OnHtmlChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs e)
    {
        WebBrowser webBrowser = dependencyObject as WebBrowser;
        if (webBrowser != null)
            webBrowser.NavigateToString(e.NewValue as string);
    }
}



Затем на форме пишется сам WebBrowser:
Код: html
1.
<WebBrowser local:BrowserBehavior.Html="{Binding MyHtmlString}" />


У меня в этом месте вылетает ошибка. The namespace prefix "Local" is not defined.
На всякий случай прикладываю простенький проект, для примера (Visual Studio 2013).

Что я делаю не так?
...
Рейтинг: 0 / 0
wpf, WebBrowser, HTML строка вместо URL сайта
    #38658394
Фотография Gena928
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проект забыл.
...
Рейтинг: 0 / 0
wpf, WebBrowser, HTML строка вместо URL сайта
    #38658502
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
4.
5.
6.
<Window x:Class="WpfApplication5.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WpfApplication5"
        Title="MainWindow" Height="508.6" Width="725.8">
    <Grid>


нужно добавить пространство имён
xmlns:local="clr-namespace:WpfApplication5"
...
Рейтинг: 0 / 0
wpf, WebBrowser, HTML строка вместо URL сайта
    #38658505
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* эти теги нужно убрать
Код: xml
1.
2.
3.
4.
5.
6.
<Window x:Class="WpfApplication5.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wpfApplication5="clr-namespace:WpfApplication5"
        Title="MainWindow" Height="508.6" Width="725.8">
    <Grid>
...
Рейтинг: 0 / 0
wpf, WebBrowser, HTML строка вместо URL сайта
    #38658532
Фотография Gena928
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

спасибо большое. Работает.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / wpf, WebBrowser, HTML строка вместо URL сайта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]