locked
Контрол Pivot и UserControl RRS feed

  • Общие обсуждения

  • Здравствуйте!
    Вместо того, чтобы писать разметку на одной страницы всех PivotItems,я использую 2 UserControl.В каждом контороле при инициализации стоит MessageBox.Когда я запускаю приложение,то у меня срабатывают оба MessageBox.

    Как сделать так,чтобы при выборе одного из контролов срабатывал MessageBox?Или может есть другой способ разделить код на составляющие?

    OnNavigatedTo нет возможности переопределить.

    Заранее спасибо!

    • Изменен тип Dmitriy VereshchakMicrosoft contingent staff 9 июля 2014 г. 9:31 Тема переведена в разряд обсуждений по причине отсутствия активности.
    1 июля 2014 г. 19:05

Все ответы

  • Можете слушать SelectionChanged у Pivot.
    2 июля 2014 г. 11:41
  • не успевает событие сработать как сообщения появляются
    2 июля 2014 г. 14:04
  • Так вызывайте сообщение из самого SelectionChanged, а не конструктора/лоада юзер контрола.


    2 июля 2014 г. 14:09
  • В общем я хочу убедиться в том,что при переходе на очередной PivotItem сработает метод.и MessageBox-ы для этого и добавил.В итоге у меня не получается это.
    2 июля 2014 г. 14:36
  • private void Pivot_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
          {
            if (e.AddedItems.Count > 0)
            {
              var pivotItem = (PivotItem)e.AddedItems[0];
              var yourControl = (CustomUserControl) pivotItem.Content;
              yourControl.RunSomeMethod();
    
            }     
          }

    2 июля 2014 г. 15:08
  • Спасибо,что подсказали направление.Код ошибку выдает,но разобрался и получил работающий.Ниже код.

    Еще xaml разметка ошибку показывает,но на устройстве нормально отображается.Так и должно быть?

      var er = MyPivot.SelectedItem as MyUserControl;
                er.Load();


    2 июля 2014 г. 20:02
  • Ничего страшного что в дизайнере ошибка.

    Хотя можете нажать кнопку StackTrace и написать его сюда.

    2 июля 2014 г. 21:19
    • Изменено xero-rock 3 июля 2014 г. 2:25
    3 июля 2014 г. 2:24
  • Попробуйте написать:

    if(er != null)
    {
        er.Load();
    }

    3 июля 2014 г. 5:32
  • не помогло.Это исключение появляется когда я в область страницы кликаю. приходиться очищать решение и заного перестраивать
    3 июля 2014 г. 5:51
  • Можете это не страшно, что в ксамле ошибка, он часто ерунду пишет. 

    Можете попробовать покомментить куски кода и увидеть когда перестанет ругаться.

    3 июля 2014 г. 5:58