Вопрос по xaml, c#, windows-runtime, webview – Как получить доступ к свойству NavigateToString веб-представления в ListView

2

Я получилListView который содержит, среди прочего,WebView, КогдаListViewItem в этом списке я хочу привязать HTML кWebView черезNavigateToString метод.

WebView должен быть в связанном списке (поскольку он связан со списком элементов), иmust использовать NavigateToString (так как контент HTML поступает из кода, а не находится в сети)

Есть какой-либо способ сделать это? Если да, то какой путь лучше?

Ваш Ответ

1   ответ
4

Конечно, вы можете добавить присоединенное поведение, используя либо свойство присоединенной зависимости, либоПоведение что вы можете связать строку с ней, чтобы перейти к этой строке при изменении значения (например, когда оно присваивается впервые).

Другая проблема может быть связана с тем, как она работает. Я бы подумал об элементе управления WebView как о окне браузера, поэтому, если у вас есть сто элементов в вашем ListView, вы можете не захотеть создавать сто окон IE для всех них. Даже если предположить, что вы используете VirtualizingStackPanel по умолчанию в качестве ItemsPanel вашего ListView - это звучит как источник многих проблем. Я не пробовал это, так что я могу ошибаться, но я бы лучше попытался проанализировать HTML и отформатировать его для использования в обычных TextBlocks. В качестве базового html вы можете использовать расширение LinkedHtmlFragment инструментария WinRT XAML с RichTextBlock, если все, что у вас есть, - это простой текст и ссылки. Для чего-то более необычного вам может понадобиться написать код самостоятельно или использовать что-то вродеHTML Agility Pack (хотя я не уверен, поддерживает ли он WinRT).

Этому вопросу больше года, поэтому я не могу вспомнить все, но, глядя на старый код, я вижу, что я установилTag иLoaded событие вWebView, Когда событие запускается, оно находит правильный контент черезTag и загружает его вWebView с помощьюNavigateToString roryok
@roryok не могли бы вы объяснить, как у вас это работает?
Благодарю. Я понял, что это работает, но, несмотря на проблемы с производительностью, WebView не растягивается, чтобы вместить его содержимое, поэтому мне все равно придется использовать TextBlock! roryok

Похожие вопросы