如何在弹出控件中使用longlistselector?
如果不可能,那么任何其他方式将longlistselector / listbox显示为弹出窗口?
答案 0 :(得分:2)
作为弹出窗口,您可以 CustomMessageBox 。 CustomMessageBox 的实例具有属性内容,与任何其他内容控件的内容属性没有区别。因此,您可以将LongListSelector或ListBox或任何您想要的内容(甚至是Pivot和Panorama)放在那里,而不是调用显示方法。如果用户单击2个默认按钮中的一个,CustomMessageBox将关闭,但您可以隐藏它们(属性 IsLeftButtonEnabled 和 IsRightButtonEnabled )并通过调用<自己的逻辑关闭CustomMessageBox strong>解雇方法。有一些有用的事件:最有用的是 Dismissed ,在CustomMessageBox关闭(解散)后立即引发,其处理程序包含DismissedEventArgs,其中有用户选择的结果(选择了右或左按钮) ,如果他们在屏幕上),当然发送者(CustomMessageBox)。如果你想在CustomMessageBox关闭后想要一些逻辑,使用Dismissed事件,Show方法将不会停止程序流。
这是展示某些内容的最简单方法。它不是一个弹出窗口,但它的行为就像它。
但是如果你不习惯使用popup if,那么就有了你的Child属性,把Grid和GridBox放在Grid中。但是你必须设置弹出子的宽度和高度的值。
答案 1 :(得分: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类型的对象,如:
Popup LLSPopup = new Popup();
创建一个方法将MyPopupPage设置为弹出窗口的叠加层:
private void ShowPopup()
{
MyPopupPage ovr = new MyPopupPage();
this.LLSPopup.Child = ovr;
this.LLSPopup.IsOpen = true;
}