[Windows8开发] 几个小知识点


判断网络连接:

ConnectionProfile profile = NetworkInformation.GetInternetConnectionProfile();
if (profile != null)
{
// 执行网络请求Code
}
else
{
//执行断网时的Code
}

Json反序列化

HttpClient hc = new HttpClient();
var save = await hc.GetAsync(new Uri("http://...+ Num));
string st = await save.Content.ReadAsStringAsync();
DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(num));
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(st))) 
//字符类型可能不同 { num numresult = (num)json.ReadObject(ms); //执行解析后的Code }

 

实现页面间导航、跳转

private void About(object sender, RoutedEventArgs e)
{
    this.Frame.Navigate(typeof(About)); 
//About是想要跳转的页面,About.xaml可以显示为typeof的类 }

 

 实现Snapped页面模式(禁止访问,类似于商店那样)

首先在XAML的<Page>下添加如下代码:

SizeChanged="Page_SizeChanged_1"

然后单击事件,转换到C#中,添加如下代码:

private void Page_SizeChanged_1(object sender, SizeChangedEventArgs e)
        {
            Window.Current.SizeChanged += (s1, s2) =>
            {
                ApplicationViewState myViewState = ApplicationView.Value;

                if (myViewState == ApplicationViewState.Snapped)
                {
                    this.Frame.Navigate(typeof(Snap)); //Snap 是跳转的页面名称(Snap.xaml)
                }
                else if (myViewState != ApplicationViewState.Snapped)
                {
                    this.Frame.Navigate(typeof(MainPage));
                }
            };
        }

 

posted @ 2012-09-28 11:49  ZetianChiang  阅读(266)  评论(0编辑  收藏  举报