我有2頁。第1頁希望使用導航到第2頁:從頁面導航中傳遞參數並將它們綁定到WP7中的網頁瀏覽器
private void listbox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
int index = listbox1.SelectedIndex;
String pom = "";
RssDataSet ob = lista.ElementAt(index);
pom = pom + ob.description;
NavigationService.Navigate(new Uri("/novaStrana.xaml?id="+pom, UriKind.Relative));
}
它基本上是從爲ListBox走索引,得到一些關於它的信息OB並導航到第二頁。
現在的問題是:我無法獲得第2頁上的「pom」參數。基本上我的OnNavigatedTo方法不會觸發。 Page2頁面如下所示:
public novaStrana()
{
InitializeComponent();
}
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
String stuff = "";
base.OnNavigatedTo(e);
string msg = "";
if (NavigationContext.QueryString.TryGetValue("msg", out msg))
{
stuff = msg;
}
}
爲什麼它根本不放火?我知道這一點,因爲我嘗試調試加載次數。
我運行模擬器,點擊我的列表項,調試器顯示我正在初始化Page2,這意味着構造函數正在運行,但一旦構造函數完成就是了。第2頁甚至沒有達到OnNavigatedTo。
感謝您的任何幫助。
編輯: 第2頁:
namespace ZaParsiranje
{
public partial class novaStrana : PhoneApplicationPage
{
public novaStrana()
{
InitializeComponent();
}
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
String stuff = "";
base.OnNavigatedTo(e);
string msg = "";
if (NavigationContext.QueryString.TryGetValue("id", out msg))
{
stuff = msg;
}
}
}
}
和Page 2的xalm:
<phone:PhoneApplicationPage
x:Class="ZaParsiranje.novaStrana"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
mc:Ignorable="d" d:DesignHeight="768" d:DesignWidth="480"
shell:SystemTray.IsVisible="True" Loaded="PhoneApplicationPage_Loaded">
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--TitlePanel contains the name of the application and page title-->
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
</StackPanel>
<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1">
<phone:WebBrowser Name="WebBroser1" />
</Grid>
</Grid>
<!--Sample code showing usage of ApplicationBar-->
<!--<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
<shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
<shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Text="MenuItem 1"/>
<shell:ApplicationBarMenuItem Text="MenuItem 2"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>-->
</phone:PhoneApplicationPage>
查看一次你的代碼,你會發現問題在哪裏! –
你是什麼意思? – LTKD
對不起@AshokDamani,但你的評論似乎很無用..真可惜,它是不可能「-1」的評論.. – quetzalcoatl