Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка Cannot serialize a nested public type 
:(
    Опции темы
DenWPF
Дата 21.9.2010, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



при выполнении этого кода происходит ошибка 
Cannot serialize a nested public type 'System.Windows.Forms.AxHost+State'.

FlashControl my usercontrol


Код

<UserControl x:Class="Adminka.UserControls.FlashControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300"
             xmlns:controls="clr-namespace:MyBlogUserControls;assembly=MyBlogUserControls">
    <Grid>
        <controls:FlashPlayer/>
    </Grid>
</UserControl>



FlashPlayer - usercontrol для показа flash

fd -richtextbox, я хочу в нем заменить элемент FlashControl на TextBox, но происходит ошибка когда я хочу заменить FlashControl на TextBox

ошибка Cannot serialize a nested public type 'System.Windows.Forms.AxHost+State'.

Код

            for (int i = 0; i < fd.Blocks.Count; i++)
            {
                var block = (fd.Blocks as BlockCollection).ElementAt(i);
                if (block is Paragraph)
                {
                    var p = new Paragraph();
                    for (int y = 0; y < ((Paragraph)block).Inlines.Count; y++)
                    {
                        var inline = ((Paragraph)block).Inlines.ElementAt(y);
                        if (inline is InlineUIContainer)
                        {
                            var elem = ((InlineUIContainer)inline).Child;
                            if (elem is FlashControl)
                            {
                                elem = new TextBox() { Text = string.Format(format, "FlashControl", (elem as FlashControl).FlashPlayer.Source) };
                            }
                            ((InlineUIContainer)inline).Child = null; \\ошибка происходит тут 
                        }
                    }
                    block = p;
                }
            }


как заменить элемент FlashControl на TextBox ?
PM MAIL   Вверх
SergeyLoginov
Дата 22.9.2010, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 28.9.2009
Где: Иваново

Репутация: 4
Всего: 4



Судя по всему попытка сериализовать FlashControl происходит в момент удаления его из документа для хранения истории изменений (операции Undo, Redo). Попытка эта приводит к возбуждению исключения. Как варианты решения, можно попробовать:
1) обернуть FlashControl каким-нибудь своим контролом, содержащим этот FlashControl, и работать уже со своим классом, а свойство, содержащее FlashControl пометить как несериализуемое. Не уверен, что поможет. Но можно попробовать.
2) можно попробовать установить UndoLimit = 0 и RedoLimit = 0. Плохое решение, но может и помочь smile Не проверял.
В общем, решение проблемы где-то в этой области smile Копай!

Это сообщение отредактировал(а) SergeyLoginov - 22.9.2010, 16:42
PM MAIL   Вверх
DenWPF
Дата 22.9.2010, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



в этом случаи я обошел...
но теперь получается так я добавляю флэш и если хочу его просто их richtextbox удалить вылазит этаже ошибка
не какой серилизации в этот момент я не делаю.

Добавлено через 11 минут и 29 секунд
вот попробуйте удалить ..

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  WpfApplication4.rar 79,02 Kb
PM MAIL   Вверх
jonie
Дата 23.9.2010, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 2
Всего: 118



http://www.davidpoll.com/2010/07/25/to-xam...in-silverlight/
вот там чувак нарисовал библиотеку, умеет и сериализовывать.. может поможет вам.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
DenWPF
Дата 23.9.2010, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



да, очент похоже на то что надо мне... вот смотрю а там не чего не запускается...и не где не вижу faq по работе с ней...или я плохо смотрю
PM MAIL   Вверх
jonie
Дата 23.9.2010, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 2
Всего: 118



http://www.davidpoll.com/Samples/SLaB/#pac...alizerDemo.xaml
ну вот пример, все запускается... собственно этот пример включен и в сорцы библиотеки.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0565 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.