private void Button_Click(object sender, RoutedEventArgs e)
{
var client = new WebClient();
client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);
client.OpenReadAsync(new Uri("SilverlightApplication1.xap", UriKind.Relative));
}
void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
var res = new StreamResourceInfo(e.Result, null);
var stream = Application.GetResourceStream(res, new Uri("SilverlightApplication1.dll", UriKind.Relative));
var part = new AssemblyPart();
var assm = part.Load(stream.Stream);
var content = assm.CreateInstance("SilverlightApplication1.Page") as UserControl;
placeHolder.Children.Add(content);
}
こんな感じで、SilverlightApplication1.xapからSilverlightApplication1.Pageのインスタンスを取得して画面に表示できる。