initparams silverlight, значение ключа, не удается загрузить значение

иметь initparams в объекте html:

<param name="initParams" value="location=images/images.xml" />

это правильный способ установить местоположение?

в MainPage.xaml.cs:

WebClient client = new WebClient();
            client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);

            client.DownloadStringAsync( new Uri(Location, UriKind.RelativeOrAbsolute));



 void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            string xml = e.Result;
            XDocument xDoc = XDocument.Parse(xml); 

в строке string xml = e.Result летает TargetInvocationException.

есть идеи?


person r.r    schedule 15.12.2010    source источник


Ответы (1)


Я не уверен, чего вы пытаетесь достичь с помощью предоставленного вами кода, но единственный способ получить initParams (насколько мне известно) — это Application_Startup.

Эта функция имеет StartupEventArgs, который содержит InitParams в виде словаря.

Таким образом, вы можете получить значение параметра, используя этот код ниже:

private void Application_Startup(object sender, StartupEventArgs e)
{
   this.RootVisual = new SilverlightApplication4.foo.SilverlightControl1();

   String imageLocation = e.InitParams["location"];
}
person danbord    schedule 15.12.2010
comment
Они также доступны в любое время как System.Windows.Application.Current.Host.InitParams. - person herzmeister; 15.12.2010
comment
Я этого не знал! Спасибо за совет! :) - person danbord; 15.12.2010