Je n'arrive pas à trouver comment mettre en cache les pages déjà visitées dans mon application Silverlight. I ont un réseau de URIs déclarée comme ceci:Silverlight page de mise en cache
let pages : UriUserControl array = [|
new Module1.MyIdeas() :> UriUserControl ;
new Module1.Page2() :> UriUserControl ;
new Module1.Page3() :> UriUserControl ;
new Module1.Page4() :> UriUserControl ;
new Module1.Page5() :> UriUserControl ; |]
j'ai un cadre de navigation sur la page et je gère la navigation comme tel (nav est l'objet de la monture sur la page de modèle):
member this.navigate (ea: SelectedMenuItemArgs) =
let i = ea.Index
if i <= pages.Length then
let page = (pages.[i-1] :> INamedUriProvider)
nav.Navigate(page.Uri) |> ignore
pageTitle.Text <- page.ProviderName
Je cherche un moyen d'éviter de recréer la page sur les navigations ultérieures à l'URI. J'ai pensé garder une carte d'URI -> nav.Content mais nav.Content et placer le contenu de navs basé sur ce cache. Des idées?