Изменить страницу при входе в полноэкранный режим - PullRequest
2 голосов
/ 04 августа 2010

Моя проблема довольно проста: когда пользователь меняет выбор в ListBox, мне нужно, чтобы мое приложение переходило в полноэкранный режим, но мне нужно изменить отображаемую страницу. Я использую Silverlight 4

 private void MainListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
            PresentationPage currentPresentationPage = new PresentationPage();

            App.Current.RootVisual = currentPresentationPage;
            App.Current.Host.Content.IsFullScreen = true;
    }

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

1 Ответ

1 голос
/ 04 августа 2010

Вы не можете изменить Application.RootVisual после того, как он назначен.Что вам нужно сделать, так это включить панель, с помощью которой вы можете изменить ее содержимое, и сделать эту панель вашей RootVisual.

 private void MainListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
        PresentationPage currentPresentationPage = new PresentationPage();

        (App.Current.RootVisual as Panel).Children.Clear();
        (App.Current.RootVisual as Panel).Children.Add(currentPresentationPage);
        App.Current.Host.Content.IsFullScreen = true;
 }

Затем в событии Startup вашего приложения сделайте что-то подобное.1008 *

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