1
응용 프로그램이 초기 데이터를로드하는 동안 내 응용 프로그램의 스플래시 화면을 유지하려고 시도했지만 아직 수행 방법을 찾지 못했습니다.다른 작업이 수행되는 동안 다른 스레드에서 창 새로 고침?
SplashView splashScreen = new SplashView();
new Thread((ThreadStart)delegate
{
splashScreen.Dispatcher.Invoke((Action)delegate
{
while ((bool)splashScreen.Dispatcher.Invoke((Func<SplashView, bool>)delegate(SplashView sView) { return sView.IsEnabled; }, DispatcherPriority.Render, new object[] { splashScreen }))
{
splashScreen.Dispatcher.Invoke((Action<SplashView>)delegate(SplashView sView) { sView.UpdateLayout(); }, DispatcherPriority.Render, new object[] { splashScreen });
Thread.Sleep(10);
}
}, DispatcherPriority.Render, new object[] { });
}).Start();
사람이 어떻게이를 말해 주시겠습니까 : 여기
은 내가 시도 코드?감사합니다. 알렉스.
관측 가능한 콜렉션에 멀티 스레드가 아닌 데이터가 채워지므로 별도의 스레드에서로드를 수행 할 수 없으며 일부 예제를 제공 할 수 있습니까? –
Observable Collections는 items 컨트롤에 이미 바인딩되어 있고 실제로는 다중 스레드는 아니지만 thrad safe observable 컬렉션이 이미 존재하는 경우에만 스레드 액세스 문제를 발생시킵니다. http://blogs.microsoft.co.il/blogs/tamir/archive /2007/04/22/Thread-safe-observable-collection.aspx .... 또한 WPF 스플래쉬 스크린 로딩에 대한 웹 예제가 많이 있습니다. 이 예제는'PushFrames()'를 사용합니다. http://www.codeproject.com/KB/WPF/WPFsplashscreen.aspx ....이 예제는'AutoResetEvent'를 사용하여 Pulse/Wait와 함께 멀티 스레딩을 사용합니다 ... http : // szymonrozga .net/blog /? p = 136. –
ObservableCollection 스레드를 안전하게 만드는 데 대한 게시물이 도움이되었습니다. 감사합니다. –