C # переключение видимости в сетке - медленная скорость - PullRequest
0 голосов
/ 21 июля 2011

Я создаю интерактивный элемент управления слайд-шоу в wpf / c #. Я хочу создать что-то похожее на лайтбокс и coverflow.

Я использую этот эффект затухания: http://www.codeproject.com/Articles/57175/WPF-How-To-Animate-Visibility-Property/?display=Mobile

И этот код для тестирования coverflow: http://d3dal3.blogspot.com/2009/04/wpf-cover-flow-tutorial-part-7.html

Все работает нормально, если у меня не много обложек в потоке обложек ... Если их больше 5, требуется> 3 - 4 секунды, чтобы запустить анимацию исчезновения (анимация в порядке). Но когда я исчезаю с этого слоя и снова исчезаю, все работает отлично, однако когда я перезагружаю приложение и хочу исчезнуть в этом элементе, мне нужно ждать анимации более 3, 4 секунд. Похоже, что WPF нужно визуализировать (?) Этот свернутый элемент, а затем начинается анимация ... но как можно решить эту проблему?

Вот мой код для Window:

<Window>
<Grid>
.
.
.
. other content
 <Border x:Name="panelLoading" Visibility="Collapsed" common:VisibilityAnimation.AnimationType="Fade">
        <Grid>
            <Border Background="Black" Opacity="0.6">

            </Border>
            <Grid>

                <flow:FlowControl x:Name="flow" Margin="0" Width="1000" Height="800"></flow:FlowControl>
            </Grid>
        </Grid>
    </Border>
</Grid></Window>

1 Ответ

0 голосов
/ 21 июля 2011

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

Вы можете загрузить первое изображение в главном потоке, затемиспользуйте BackgroundWorker для загрузки следующих изображений.

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