Утечка памяти в Silverlight DataForm - PullRequest
1 голос
/ 29 мая 2010

Немного фона

Я заметил, что установка EditTemplate DataForm (из набора инструментов Silverlight) может привести к тому, что DataForm не будет собирать мусор. Следовательно, родительский элемент управления DataForm также не может быть сборщиком мусора, что приводит к очень значительной утечке памяти.

Вот некоторый XAML, который демонстрирует случай.

    <toolkit:DataForm HorizontalAlignment="Stretch" Margin="10" VerticalAlignment="Stretch">
        <toolkit:DataForm.EditTemplate>
            <DataTemplate>
                <toolkit:DataField Label="Dummy Binding:">
                    <TextBox Text="{Binding DummyBinding, Mode=TwoWay}" />
                </toolkit:DataField>
            </DataTemplate>
        </toolkit:DataForm.EditTemplate>
    </toolkit:DataForm>

Я открыл проблему на CodePlex . У isssue есть вложение, которое имеет проект , который демонстрирует случай.

Итак, мой вопрос

Кто-нибудь еще сталкивался с этой проблемой? Что еще более важно, кто-нибудь знает какие-либо обходные пути? Как заставить этот DataForm собирать мусор?

Ответы [ 2 ]

2 голосов
/ 26 сентября 2010

К вашему сведению, всем, кто обеспокоен этой проблемой ... MS выпустила исправление для этого.

Сервисная версия Silverlight 4

1 голос
/ 02 июня 2010

Оказывается, что эта проблема не относится к элементу управления DataForm, и что на самом деле это проблема времени выполнения Silverlight 4. Все встроенные элементы управления и пользовательские элементы управления, которые используют DataTemplate, имеют эту проблему, как более подробно описано в этом потоке . Тим Хойер (руководитель программы Silverlight) отзывчив на тему и предлагает возможный обходной путь со смешанными результатами. Он упоминает, что у них уже есть исправление, введенное в тестирование, поэтому, надеюсь, обновление будет выпущено относительно скоро.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...