2011-11-07 47 views
1

我正在創建一個播放器,而且我在C#和Silverlight中很新。在我的App.xaml.cs我有這種方法從XML加載參數。如何獲取init參數值進行調試

private void Application_Startup(object sender, StartupEventArgs e) 
     { 
      MainPage = new MainPage(); 
      this.RootVisual = MainPage; 
      MainPage.mySMF.LoadInitParams(e.InitParams); 
     } 

現在我的主要應用是在MainPage.xaml.cs中我想尋找一個特定InitParams值,如果它是一個特定的值,我想要做一些任務。我將如何尋找這個價值。我的意思是讓我說,如果我想在我的消息框中,我會寫什麼 MessageBox.Show(???);還是有另一種方法來做到這一點?

感謝所有幫助。

+0

也許你正在尋找'MainPage_Loaded'事件在你可以檢查任何你想要的。 –

回答

2

您可以使用屬性在任何時候獲得InitParams收藏價值:

Application.Current.Host.InitParams 

initParams在爲Dictionary<string, string>,所以如果你想打印出用逗號隔開,可以將鍵/值對做這樣的事情:

using System.Linq; 

class Helper { 
    public static string GetInitParamsString() { 
    return String.Join(",", Application.Current.Host.InitParams.Select (item => item.Key + "=" + item.Value)) 
    } 
} 
+0

謝謝。但是當我做了這個MessageBox.Show(Application.Current.Host.InitParams.ToString());它向我展示的不是我通過的initparams。 – Autolycus

+0

好吧,我修改了我的答案,包括一個方法,它將以友好的字符串格式返回init參數 – RobSiklos