silverlight - When to Call ViewModel.LoadData? -
i have wp7 silverlight app displays bunch of data using pivot. when first creating project, visual studio template calls viewmodel.loaddata in page_loaded:
private void mainpage_loaded(object sender, routedeventargs e) { app.viewmodel.loaddata(); }
however on msdn says should use onnavigatedto instead of page_loaded, because onnavigatedto called once when page becomes active, while page_loaded called everytime item added page's visual tree. msdn article silverlight 4 instead of silverlight windows phone though.
you override onnavigatedto method examine navigation request , prepare page display. example, can load requested data , enable or disable visual elements.
typically, use onnavigatedto method instead of creating event handler loaded event. onnavigatedto method preferable because called once each time page becomes active. silverlight framework raises loaded event each time element added visual tree, potentially can happen more once when activating page. onnavigatedto method called each request, when page retrieved cache. should include in method code must executed each request rather placing code in page constructor.
is there reason why visual studio pivot template calls viewmodel.loaddata in page_loaded?
i think you're confusing layoutupdated , loaded.
loaded should called once each time page displayed.
loading data specific page after page has been constructed simple way of working data tied specific page. guess default templates use it's simple understand , learn from.
update
article in msdn refer page.loaded. wp7 not use page
instead uses phoneapplicationpage
.
having worked wp7 on year , created dozens of apps, i've never seen loaded event called multiple times in wp7 app.
Comments
Post a Comment