Ошибка рендеринга ContentControl при использовании настраиваемой заставки. Close () - что происходит? - PullRequest
1 голос
/ 14 января 2010

Я использую довольно простое ContentControl переключение между различными типами контента:

<ContentControl Content="{Binding MyContent}">
    <ContentControl.Resources>
        <DataTemplate DataType="{x:Type local:Type1}">
            <local:View1/>
        </DataTemplate>
        <DataTemplate DataType="{x:Type local:Type2}">
            <local:View2/>
        </DataTemplate>
...
    </ContentControl.Resources>
</ContentControl>

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

Если я пытаюсь использовать Snoop в окне, представление мгновенно отображается. Представление даже принимает ввод и меняет курсор мыши, когда я наводю курсор на ожидаемые текстовые поля. Если я нажимаю любую кнопку в «невидимом» виде, она мгновенно выскакивает.

Переключение с ContentControl на ContentPresenter не изменило вышеуказанное поведение.

Кто-нибудь знает, что происходит и как это исправить?

РЕДАКТИРОВАТЬ: Это похоже на ошибку в WPF, поэтому я надеюсь, что кто-то столкнулся с этой проблемой.

РЕДАКТИРОВАТЬ: Я отследил его до пользовательского окна заставки, точнее - до .Close(), чтобы избавиться от окна. Если я использую .Hide() вместо этого, сбой не происходит. До сих пор не понимаю, почему.

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