我在Popup控件上使用WP7工具包ListPicker (Feb release)。我困住了后退按钮,所以我可以关闭弹出窗口。
如果我在ListPicker以弹出模式打开时按下back按钮,我的back按钮事件处理程序会在ListPicker处理它之前触发,因此ListPicker和我的弹出窗口都会关闭。
我想到的一种处理方法是检查并查看弹出窗口上是否有打开的ListPickers,如果有,则关闭并取消导航(弹出窗口上的控件是动态添加的,因此我必须枚举弹出的子控件才能进行检查),但我找不到查看ListPicker是打开还是关闭的方法。
所以我的问题是: a)有没有办法在后退按钮处理程序中处理这个问题?如果没有,b)我如何检查ListPicker是否打开。
发布于 2011-03-03 11:59:41
在popup控件的BackKeyPress回调中添加以下检查:
if( myListPicker.ListPickerMode == ListPickerMode.Normal ) {
// Close popup
// Cancel navigation
e.Cancel = true;
}当ListPickerMode为Expanded或Full时,ListPicker将捕获back键按下事件并自行关闭。
编辑:
根据@SteveChadbourne的评论,以下是有效的:
if( myListPicker.ListPickerMode != ListPickerMode.Normal ) {
// Close the ListPicker
myListPicker.ListPickerMode = ListPickerMode.Normal;
// Cancel navigation
e.Cancel = true;
}https://stackoverflow.com/questions/5176372
复制相似问题