Win 8 页面传参

Win 8 中,页面参数递参数是通过调用Frame类的Navigate方法,它有两个重载,其中一个是可以传参数的。

1、界面设计如下:

Win 8 页面传参
    <Grid Background="LightCoral">
        <TextBlock HorizontalAlignment="Left" Margin="277,51,0,0" TextWrapping="Wrap" Text="学号:" FontSize="30" VerticalAlignment="Top"/>
        <TextBlock HorizontalAlignment="Left" Margin="277,106,0,0" TextWrapping="Wrap" Text="姓名:" FontSize="30" VerticalAlignment="Top"/>
        <TextBox x:Name="StuNum" HorizontalAlignment="Left" Margin="386,51,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="148"/>
        <TextBox x:Name="StuName" HorizontalAlignment="Left" Margin="386,106,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="148"/>
        <Button x:Name="OK" Content="确定" HorizontalAlignment="Left" Margin="277,172,0,0" VerticalAlignment="Top" Click="OK_Click"/>
    </Grid>
Win 8 页面传参

 

2、设计了一个Student类,方便传递参数

    public class Student
    {
        public string stuNum { get; set; }
        public string StuName { get; set; }
    }

 

3、关键代码如下: 给参数赋值,然后通过Frame.Navigate方法,传递参数,并导航到GetParameters.xaml页面中。

Win 8 页面传参
        private void OK_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(StuName.Text) == true 
                || string.IsNullOrEmpty(StuNum.Text) == true) 
                return;

            Student stu = new Student()
            {
                stuNum =  StuNum.Text,
                StuName = StuName.Text
            };

            Frame CurFrame =  Window.Current.Content as Frame;
            if (CurFrame != null)
            {
                CurFrame.Navigate(typeof(GetParameters), stu);
            }     
        }
Win 8 页面传参

 

4、获得参数。在GetParameters.xaml页面中显示参数。

Win 8 页面传参
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            Student stu = e.Parameter as Student;
            if (stu != null)
            {
                ShowMsgTbk.Text = " [获得参数页] -> " + "学号: " + stu.stuNum + " 姓名: " + stu.StuName;
            }
        }
Win 8 页面传参

5、效果图

Win 8 页面传参

图1

Win 8 页面传参

 

图2.

总结:Win8 中页面传参可以通过Frame.Navigate方法来实现。



本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2012/12/07/2736958.html,如需转载请自行联系原作者