[英]NavigationService.Navigate Throwing NullReferenceException WP7?
[英]WP7: Executing a NavigationService.Navigate from a MenuItem click handler from a Context menu on WP7
我的應用程序中有一個上下文菜單,當我處理單擊的MenuItem時,我想導航到另一個頁面。 我遇到的問題是導航正常,但是我沒有看到其他頁面加載,因為上下文菜單在單擊時保持打開狀態。 當我回擊時,上下文菜單關閉,然后我看到導航到的頁面。 處理此問題的正確方法是什么? 幾乎就像我需要在處理單擊然后告訴我想要的頁面時告訴ContextMenu關閉。
用我的處理程序代碼更新:
private void MenuItem_Click(object sender, RoutedEventArgs e)
{
MenuItem menuItem = sender as MenuItem;
if (menuItem != null)
{
App.appData.URL = menuItem.Header.ToString();
NavigationService.Navigate(new Uri("/BrowserPage.xaml", UriKind.Relative));
}
}
XAML代碼:
<local:MyListBox x:Name="messageListBox"
ItemsSource="{Binding ChannelMessages}"
MaxHeight="480"
>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu ItemsSource="{Binding URLs}">
<toolkit:ContextMenu.ItemTemplate>
<DataTemplate>
<toolkit:MenuItem Header="{Binding}" Click="MenuItem_Click"/>
</DataTemplate>
</toolkit:ContextMenu.ItemTemplate>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
<TextBlock x:Name="MessageTextbox" Text="{Binding MessageFrom}" TextWrapping="Wrap">
<TextBlock.Foreground>
<SolidColorBrush Color="{StaticResource PhoneAccentColor}"/>
</TextBlock.Foreground>
</TextBlock>
<TextBlock x:Name="FromTextBox" Text="{Binding MessageText}" Margin="0,0,0,19" Width="456" FontSize="21.333" TextWrapping="Wrap"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</local:MyListBox>
有任何想法嗎?
謝謝
在點擊事件處理程序中設置e.Handled = true
是否有幫助?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.