繁体   English   中英

在页面之间传递数据WP7

[英]Passing data between pages wp7

我有一个小问题。 我有一个像这样的数据模板:

    <phone:PhoneApplicationPage.Resources>
    <DataTemplate x:Key="DangersItemTemplate">
        <Grid Height="102" Width="447" Tap="Grid_Tap">
            <Image Name="image" Source="{Binding Image}" HorizontalAlignment="Left" Width="90" />
            <TextBlock Name="text" Text="{Binding Nom}" TextWrapping="Wrap" Margin="102,16,16,22"/>
        </Grid>
    </DataTemplate>
</phone:PhoneApplicationPage.Resources>

我想在CSharp代码中使用Textlock控件将Text属性传递给第二个xaml页面,但是我找不到该控件的名称,它无法访问。

任何想法 ?

我只是使用VB.Net,但我相信您可以进行转换。 只需在应用程序中使用任何共享变量即可。 在这里,您可以在SourceCode示例中看到它:

http://www.activevb.de/rubriken/kolumne/kol_30/res/nachtscanner.zip

只需在应用程序类中使用“ Public Shared MyText As String 您可以在任何地方访问此可变项。 您也可以使用INotifyPropertyChanged绑定该共享属性。

或者,您可以使用导航查询。 在这里阅读更多:

如何通过NavigationService.Navigate传递查询字符串变量?

您绑定了TextBlock的Text,因此您必须在datacontext中具有该值。 我将此值添加到Querystirng并导航到页面。

var text = ((Whatever) DataContext).Nom;
string page2Uri = string.Foramt("/PAge2.xaml?Nom={0}", text);
NavigationService.Navigate(new Uri(page2Uri, UriKind.Relative));

然后,要从查询字符串中获取数据,可以在页面中使用OnNavigatedTo方法,然后检查this.NavigationContext.QueryString [“ nom”]

或者看看类似MVVM模式的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM