У меня есть приложение silverlight, которое я недавно разделил на отдельные файлы xap.
Намерение таково. Существует xap-файл 1, который принимает несколько входных данных от пользователя и сохраняет его в базе данных. И когда пользователь нажимает кнопку на этом пользовательском интерфейсе (из xap-файла 1), он загружает xap-файл 2, который запрашивает дополнительные входные данные и сохраняет его в базе данных.
Мне удалось вызвать xap-файл 2 из xap-файла 1, но пользовательский интерфейс, похоже, не может получить информацию из базы данных (пользовательский интерфейс показывает, что сохранилось в предыдущем пользовательском интерфейсе), и не может чтобы сохранить ввод пользователя. Я понимаю, что xap-файл 2 должен как-то указывать, где и как его сохранить.
Вот так я загружаю xap файл 2
WebClient wc = new WebClient();
wc.OpenReadCompleted += new OpenReadCompletedEventHandler(OpenReadCompleted);
Uri uri = new Uri("xapfile2.xap", UriKind.Relative);
wc.OpenReadAsync(uri);
private void OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
Uri uri = new Uri("xapfile2.dll", UriKind.Relative);
StreamResourceInfo resource_stream = App.GetResourceStream(new StreamResourceInfo(e.Result, null), uri);
AssemblyPart part = new AssemblyPart();
Assembly assembly = part.Load(resource_stream.Stream);
UIElement control = assembly.CreateInstance("xapfile2.Window") as UIElement;
if (control != null)
{
RadWindow window = (RadWindow)control;
window.ShowDialog();
}
}
(Весь этот интерфейс работал до того, как я разделил их на отдельные xap. У нас были веские причины для их разделения)
Любая помощь будет принята с благодарностью
UPDATE
Я попытался по примеру ссылка и смог запустить второй интерфейс из отдельного файла xap со всей информацией из базы данных.
Теперь, похоже, я столкнулся с новой проблемой. Когда я делаю отмену на втором пользовательском интерфейсе, я должен выгрузить второй xap, вызывающий removeXap из каталога? Когда я это делаю, я получаю Композиция остается без изменений.
1) Изменения в экспорте предотвращены нерекомментируемым импортом 'xapfile2.Views.ViewModel (ContractName = "MyViewModel") "на части" xapfile2.Views.MyView ". Есть идеи?
Спасибо
K