2012-04-02 5 views
3

Я работаю над приложением WPF, проблема, с которой я сталкиваюсь, - это мерцание экрана, например, при позиционировании себя во время загрузки. Я хочу скрыть это или что-то еще подобное, пока он не загрузится полностью, а затем отобразит его.Окно мерцания при позиционировании в WPF

Я пытаюсь использовать рекурсивную передачу сообщений для этого, так же как и DoEvents в приложениях winform.

Что-то вроде

Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate{}); 

Благодаря

ответ

1

Вы можете использовать собственный метод DoEvents как это один:

public void DoEvents() 
{ 
    DispatcherFrame frame = new DispatcherFrame(); 
    Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, (Action<DispatcherFrame>)(frm => { frm.Continue = false; }), frame); 
    Dispatcher.PushFrame(frame); 
} 
+0

Спасибо за ваш ответ, но я считаю, последняя строка должна быть Dispatcher.PushFrame (е); и мое приложение держится на этой линии, никогда не вернется. Просим подтвердить – MegaMind

+0

Истина. Извините, обновлена ​​до рабочей версии. –

Смежные вопросы