2014-02-02 3 views

ответ

0

Вы можете создать новую страницу и просто поместить в нее свой LongListSelector.

Например (страница называется MyPopupPage):

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
     <con:LongListSelector x:Name="LongListSelector"> 
      <con:LongListSelector.ItemTemplate> 
       <DataTemplate> 
        <TextBlock Text="{Binding Name}"/> 
       </DataTemplate> 
      </con:LongListSelector.ItemTemplate> 
     </con:LongListSelector> 
    </Grid> 

Затем залейте его, что вы хотите (см: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj244365(v=vs.105).aspx)

В вашем MainPage (страница, которая должна открыть всплывающее окно): Создание объекта типа всплывающего окна, как:

Popup LLSPopup = new Popup(); 

И создать метод, чтобы установить MyPopupPage как overla у из всплывающего окна:

private void ShowPopup() 
{ 
    MyPopupPage ovr = new MyPopupPage(); 
    this.LLSPopup.Child = ovr; 
    this.LLSPopup.IsOpen = true; 
} 
+0

Его не работает :(Я не могу открыть страницу образца внутри всплывающего окна в другом окне. – vasuy19

+0

Почему что происходит/не происходит? А зачем вам 2 Popups? –

+0

К сожалению .. его опечатка Я не способный открыть образец страницы внутри всплывающего окна на другой странице. Я создал страницу с текстовым блоком, а на другой странице я сделал то же самое, что и вы (@Daniel), но показывал пустой экран. – vasuy19

2

В всплывающем окне вы можете вы CustomMessageBox. Экземпляры CustomMessageBox имеют свойство Содержание, что не имеет отличий от Содержание собственность любых других элементов управления контентом. Таким образом, вы можете разместить LongListSelector или ListBox или что угодно (даже Pivot и Panorama), чем позвонить Показать метод. CustomMessageBox закроется, если user'll нажмите на одну из кнопок по умолчанию 2, но вы можете скрыть их (свойства IsLeftButtonEnabled и IsRightButtonEnabled) и близко CustomMessageBox вашей собственной логикой, вызвав Отклонить метод. Существует несколько полезных событий: самым полезным является Уволен, который поднимается сразу после того, как CustomMessageBox закрывается (отклоняется), его обработчик содержит DismissedEventArgs, результат которого был выбран пользователем (выбрана правая или левая кнопка, если они были включены экран) и, конечно, отправитель (CustomMessageBox). Если вам нужна логика после закрытия CustomMessageBox, используйте функцию «Отклонено», метод «Показать» не остановит поток программы.

Это самый простой способ показать что-то. Это не всплывающее окно, но оно ведет себя так.

Но если вы хотите использовать всплывающее окно, то для вас есть свойство Child, поставьте Grid и ListBox внутри Grid. Но вы должны установить значения ширины и высоты всплывающего окна.