지역 내에서보기를 표시하는 것은 약 5-10 초입니다. 은 처음으로으로 느려지고 내 프리즘 복합기에서 해당 기간 동안 UI가 정지합니다 WPF 응용 프로그램. 다음 번에는 UI가 멈추지 않고 View가 상대적으로 빠르게로드됩니다. 뷰는 Devexpress WPF Grid 컨트롤로 구성되며 SQL 데이터베이스에서 데이터를 가져옵니다. 그리드 컨트롤/바인딩 문제가 있다고 생각하지 않습니다. 비록 그리드 컨트롤로 바인딩을 제거해도 뷰는 거의 동일한 시간을 소요되어 영역으로 렌더링됩니다. 프리즘 합성 wpf 응용 프로그램에서 처음으로보기가 매우 느리게 로딩되는 이유
이
인 쉘 내부에 정의 된 지역에 내가보기를로드하는 데 사용하는 코드 :public Action<MenuModel> LoadViewRequest { get; set; }
public SyncController(IUnityContainer container, IEventAggregator eventAggregator, IRegionManager regionManager)
{
this.container = container;
this.eventAggregator = eventAggregator;
this.regionManager = regionManager;
this.LoadViewRequest = (menuItem) => { LoadRequestedView(menuItem); };
this.eventAggregator.GetEvent<ViewRequestedEvent>().Subscribe(LoadViewRequest, ThreadOption.UIThread, true, i => i.Module == "Sync");
}
private void LoadRequestedView(MenuModel menuItem)
{
try
{
IViewModel viewModel = this.container.Resolve<SynchronizeViewModel>();
this.regionManager.Regions["ViewRegion"].Add(viewModel.View);
this.regionManager.Regions["ViewRegion"].Activate(viewModel.View);
viewModel.DisplayName = menuItem.Description;
this.eventAggregator.GetEvent<ViewNotificationEvent>().Publish(menuItem.Description);
}
catch (ResolutionFailedException) { }
}
은 무엇이 동작 뒤에 이유가 될 수 있을까? 두 번째로로드 할 때 View가 거의 순간적으로로드되는 이유는 무엇입니까? 지역에서보기를 제거한 후에도 내 응용 프로그램에서보기에 대한 참조를 보유한다는 의미입니까?
응용 프로그램에서 프로파일 러를 사용해 보셨습니까? – Steoates