2012-02-09 38 views
0

我想知道是否有人以前做過或試圖做到這一點。我想從當前頁面導航到生成並存儲在隔離存儲中的頁面。導航到隔離存儲的xaml頁面

這可能嗎?

我已經找到了生成xaml代碼的方法,並且正在生成xaml.cs文件,但我似乎無法找到導航到隔離存儲中新創建和現有文件的方式。 我正在使用「isostore」URI模式,但它在RootFrame_NavigationFailed中引發異常: [System.InvalidOperationException] = {「在位置'/isostore;/screenTest.xaml'找不到XAML。」}。先謝謝你。

最好的問候,

西皮

回答

0
public MainPage() 
{ 
    InitializeComponent(); 
    this.Loaded += new RoutedEventHandler(MainPage_Loaded); 
} 

void MainPage_Loaded(object sender, RoutedEventArgs e) 
{ 
    string UserName; 

    IsolatedStorageSettings.ApplicationSettings.TryGetValue<string>("UserName", out UserName); 
    if (!string.IsNullOrEmpty(UserName)) 
    { 
     txtUserName.Text = UserName; 
     txtPassword.Focus(); 
    } 

    else 
     txtUserName.Focus(); 
} 

private void btnLogin_Click(object sender, RoutedEventArgs e) 
{ 
    IsolatedStorageSettings.ApplicationSettings["UserName"] = txtUserName.Text; 
} 
1

我認爲你可以得到的最接近的是:

  • 商店用戶控件(而非網頁)在獨立存儲
  • 加載它們使用XamlReader.Load
  • 注入加載的UserControl i n面當前頁面

弊端:

  • 您可以對代碼隱藏文件忘了,你不能編譯。你必須找到另一種方式來連接事件。我建議採取一個MVVM方法,通過結合動作和使用相同的視圖模型爲每個用戶控件
  • 你不使用的NavigationService,所以你必須處理導航的東西(後退按鈕和應用立碑後恢復)
+0

這是我目前的做法。爲了能夠使用默認導航系統,我試圖重新分解所有內容。這種方法的問題是,當使用像DatePicker這樣的控件默認導航到datePickerPage時,當你從該頁面返回時,它可能變得非常煩人。即使我恢復了最後一個狀態,我也無法與頁面交互。感謝您的幫助,我會盡力嘗試更多。 :) – 2012-02-10 08:34:57