У меня есть приложение 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. У нас были веские причины для их разделения)
Любая помощь будет принята с благодарностью
ОБНОВЛЕНИЕ
Я пробовал следовать примеру ссылке и смог запустить второй пользовательский интерфейс из отдельного xap-файла со всей информацией из базы данных.
Теперь, кажется, я столкнулся с новой проблемой. Когда я выполняю отмену во втором пользовательском интерфейсе, нужно ли мне выгружать второй xap, вызывающий removeXap, из каталога? Когда я это делаю, я получаю ошибку "Композиция остается неизменной".
1) Изменению в экспорте препятствует неразборный импорт 'xapfile2.Views.ViewModel (ContractName = "MyViewModel")' в части 'xapfile2.Views.MyView'. Любые идеи?.
Спасибо K