将标记字段传递给其他视图wf7

时间:2013-01-03 12:18:49

标签: c# windows-phone-7 view

好的我需要将此代码中的标记传递到下一页但我不知道如何访问它。有人可以帮忙吗。

代码:

 <ListBox x:Name="AgendaList" Width="450" Height="520" Margin="10" SelectionChanged="event_SelectionChanged">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <Image  Width="100" Stretch="Uniform" HorizontalAlignment="Center" Source="/SuperAgenda;component/Images/calendar.jpg" />
                            <TextBlock  Text="{Binding Title_}" Tag="{Binding EventId_}" />

                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

我正在使用按钮发送它,所以我需要知道如何获取标签数据并让按钮将其发送到下一页。 我的按钮看起来像这样,但它不发送任何数据:

private void viewEvent_Click(object sender, RoutedEventArgs e)
    {



        string uri = String.Format("/Views/Event_View/Event_View.xaml?id={0}", clickedLink.Tag);
        NavigationService.Navigate(new Uri(uri, UriKind.Relative));

    }

任何帮助都会非常感谢。

3 个答案:

答案 0 :(得分:0)

实际上,要在页面之间传输数据,您应该使用PhoneApplicationService类。

 PhoneApplicationService.Current.State["field"] = someField;

点击你的按钮点击事件。

然后,在您的下一页上使用强制转换

获取该值
someField = (fieldType)PhoneApplicationService.Current.State["field"];

这就是你想要的吗?

答案 1 :(得分:0)

只需使用您导航到的页面的Navigation Context属性即可。

if (this.NavigationContext.QueryString.ContainsKey("ProductId"))
{
    productID = this.NavigationContext.QueryString["ProductId"];
}
else
{
    productID = App.Current.Resources["FeaturedProductID"].ToString();
}

答案 2 :(得分:0)

在这里使用Tag属性是多余的,因为绑定控件中的DataTemplate包含对象的所有属性。使用DataContext检索对象。将Tap个活动添加到StackPanel中的DataTemplate(以便用户可以点按图片或文字):

private void StackPanel_Tap( object sender, GestureEventArgs e ) {
    int eventid = (( sender as StackPanel ).DataContext as MyObject).EventId_;

    string uri = String.Format("/Views/Event_View/Event_View.xaml?id={0}", eventid);
    NavigationService.Navigate(new Uri(uri, UriKind.Relative));
}

然后使用paiden的答案中的NavigationContext来检索收据页面上的值。