Silverlight - загрузка файла XAML через C # (как в дни WinForms) - как? - PullRequest
1 голос
/ 04 июня 2009

Итак, я новичок в SL, пришедший из фона WinForms, где я мог создать экземпляр UserControl или Form, например:

MyForm frm = new MyForm();
frm.ShowDialog();

Итак, в SL я создал простой Page.xaml и второй файл xaml с именем Page2.xaml - я опустил кнопку в файле Page.xaml и в событии click этой кнопки я попытался добавить следующее для вызова второго Файл xaml:

private void btnLoad_Click(object sender, RoutedEventArgs e)
{
    Page2 frm2 = new Page2();
    frm2.  // ?? don't know what write here ??
}

Как я могу вызвать XAML UserControls?

Ответы [ 5 ]

1 голос
/ 26 мая 2011

Вы можете использовать ChildWindow.Xaml и создать экземпляр дочернего элемента управления в Mainpage.xaml

ChildWindow chw = new ChildWindow();
chw.show();
1 голос
/ 04 июня 2009

Чтобы перейти на совершенно другую страницу Silverlight, вам понадобится «контейнерный» пользовательский контроль с вашей главной страницей внутри. Оттуда вы можете установить свой внутренний UserControl следующим образом:

insideControl = new Page2();

Для получения дополнительной информации: http://silverlight.net/learn/learnvideo.aspx?video=56933

0 голосов
/ 28 августа 2009

Вы должны создать UserControl.xaml, который является контейнером из page.xaml и page2.xaml

этот контейнер имеет сетку с x: Name = "miGrid" :

<Сетка x: Имя = "miGrid" />

после загрузки в потомки этого элемента управления экземпляр пользовательского элемента управления в этом случае frm2 ..

miGrid.Childrens.Clear (); miGrid.Childrens.Add (frm2);

0 голосов
/ 04 июня 2009

Класс XamlReader был разработан именно для этой цели. Использование методов Load или Parse вернет вам объекты, которые были бы сгенерированы вашим Xaml.

0 голосов
/ 04 июня 2009

В Silverlight я верю, что на самом деле вам нужно перейти на отдельную страницу.

Это веб-платформа, поэтому Navigate - это веб-форма winforms. Метод show ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...