This project is read-only.

XamlParseException too...

Jan 31, 2013 at 9:04 AM
Edited Jan 31, 2013 at 9:05 AM
Доброго времени суток!
Спасибо за проделанную работу - невероятно удобный тулкит, и очень выручает!

У меня в коде возникает вышеописанный эксепшн.
"Cannot add instance of type 'System.Windows.Documents.InlineUIContainer' to a collection of type 'System.Windows.Documents.InlineCollection'. [Line: 12 Position: 21]"

Сам html таков:
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
</head>
<body>
<p>Some text </p> 
<p>  
 <a href='http://pic.37.jpeg' target='_blank'>  
   <img src='http://pic.all.jpeg' width='128' height='85' alt='' title='' />  
 </a> <br /><br /> Some text. </p> 
<p>  
<a href='http://pic.6c.jpeg' target='_blank'>   
<img src='http://pic.all.jpeg' width='128' height='75' alt='' title='' /> 
 </a><br /><br />  Some text 
<a href='/article.html?id=39879' target='_blank'>   Some text  </a>  Some text </p>
</body>
</html>
Подразумеваю, что ошибка в том, что внутри гиперссылки - изображение.
<Section xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
  <Paragraph>Some text </Paragraph>
  <Paragraph>
    <Hyperlink NavigateUri="http://pic.37.jpeg" p3:Foreground="Transparent" xmlns:p3="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
      <p3:InlineUIContainer>
        <p3:Button>
          <p3:Image>
            <p3:Image.Source>
              <p3:BitmapImage p3:UriSource="http://pic.all.jpeg" p3:CreateOptions="BackgroundCreation" />
            </p3:Image.Source>
          </p3:Image>
        </p3:Button>
      </p3:InlineUIContainer> </Hyperlink> </Paragraph>
  <Paragraph> <LineBreak /> Some text. </Paragraph>
  <Paragraph>
    <Hyperlink NavigateUri="http://pic.6c.jpeg" p3:Foreground="Transparent" xmlns:p3="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
      <p3:InlineUIContainer>
        <p3:Button>
          <p3:Image>
            <p3:Image.Source>
              <p3:BitmapImage p3:UriSource="http://pic.all.jpeg" p3:CreateOptions="BackgroundCreation" />
            </p3:Image.Source>
          </p3:Image>
        </p3:Button>
      </p3:InlineUIContainer> </Hyperlink> </Paragraph>
  <Paragraph> </Paragraph>
  <Paragraph> Some text <Hyperlink NavigateUri="/article.html?id=39879" p3:Foreground="Transparent" xmlns:p3="http://schemas.microsoft.com/winfx/2006/xaml/presentation">Some text </Hyperlink> Some text </Paragraph>
</Section>
Не могли бы вы подсказать пути решения?

Заранее благодарна.
Feb 1, 2013 at 12:39 PM
Спасибо за отзыв.

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

Если же вам это по каким-то причинам не подходит, пожалуйста предложите подходящие вам варианты, я вечером попробую это реализовать.
Feb 1, 2013 at 12:52 PM
А может, в парсинге проверять, если внутри гиперссылки - изображение, то оставлять одно изображение? Просто картинка, без логики перехода на веб.

Это бы очень подошло)
Спасибо.
Feb 1, 2013 at 1:14 PM
Хорошо, я постараюсь это сегодня сделать.
Feb 1, 2013 at 7:46 PM
Не смог воспроизвести баг на вашем примере. Ни в исходных кодах ни в библиотеке из Nu-Get. Он именно просто съедает ссылку. Не могли бы вы поподробнее расписать шаги для воспроизведения. Проблема при использовании HTMLTextBox, HTMLTextViewer или HtmlToXamlConverter?
Feb 4, 2013 at 7:21 AM
Добрый день.
  1. Скачиваю MSPToolkit And Sample Sources
  2. В HTMLTextViewer делаю биндинг данного html-кода в виде строки (Прямо в примере HTMLViewerSample)
  <msp:HTMLViewer x:Name="Te"  FontSize="24" Html="{Binding Text}">
   </msp:HTMLViewer>