Как загрузить определенную страницу XAML на основе ввода данных пользователем?

Краткое объяснение

Один проект Silverlight (3.0) с несколькими страницами XAML.

Я хочу загрузить элемент управления Silverlight, указывающий на разные страницы XAML в зависимости от определенных событий. Я подумываю сделать это с помощью Querystrings. Кому-нибудь повезло с этим или лучшими практиками?


person Cody C    schedule 30.06.2009    source источник
comment
Не уверен, что такое Querystrings, но это очень просто - просто обновите их, как предлагает ответ ниже. То же, что и во времена WinForms.   -  person James Cadd    schedule 01.07.2009


Ответы (2)


если вы не используете prism / mvvm и т. д., тогда просто имейте элемент управления контентом на странице и в зависимости от того, какой элемент управления вы хотите показать, обновите этот элемент управления и установите содержимое ContentControl на созданный вами элемент управления

person user122069    schedule 30.06.2009
comment
Может ли элемент управления содержимым отображать разные XAMLS из одного и того же проекта silverlight? Я нашел решение ниже, но оно может быть не лучшим - person Cody C; 07.07.2009

Я нашел на это ответ. На самом деле довольно просто.

На веб-странице я передаю идентификатор с помощью параметра initParameters.

Silverlight1.InitParameters = "ID=MAIN" 

Затем я проверяю этот параметр в App.xaml в проекте SilverLight и соответственно загружаю xaml.

string inputparm = e.InitParams["ID"];
switch (inputparm)
    {
        case "MAIN":
            this.RootVisual = new MainPage();
            break;
        case "MAIN2":
            this.RootVisual = new MainPage();
            break;
    }
person Cody C    schedule 07.07.2009