• windows phone 7 学习笔记 五 TileSample


    WP 7 为应用程序设置为瓦片.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using Microsoft.Phone.Controls;
    using Microsoft.Phone.Shell;
    
    namespace WPTileSample
    {
        public partial class MainPage : PhoneApplicationPage
        {
            // Constructor
            public MainPage()
            {
                InitializeComponent();
            }
    
            private static readonly string SecondaryTileUriSource = "Source=SeconaryTile";
    
            protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
            {
                base.OnNavigatedTo(e);
    
                //查找当前是否是瓦片
                ShellTile secondaryTile = this.FindTile(SecondaryTileUriSource);
                this.cbShowTile.IsChecked = secondaryTile != null;
            }
    
            /// <summary>
            /// 查找当前名称是否在瓦片中
            /// </summary>
            /// <param name="partOfUri"></param>
            /// <returns></returns>
            private ShellTile FindTile(string partOfUri)
            { 
                //当前应该程序是不是瓦片
                ShellTile shellTile = ShellTile.ActiveTiles.FirstOrDefault(
                    tile => tile.NavigationUri.ToString().Contains(partOfUri));
    
                return shellTile;
            }
    
            private void cbShowTile_Checked(object sender, RoutedEventArgs e)
            {
                // secondary tiles can be created only as the result
                // of user input in an application
                ShellTile tile = this.FindTile(SecondaryTileUriSource);
    
                if (tile == null)
                {
                    // because the UI will navigate to Start
                    // when a new secondary tile is created
                    // only one secondary tile can be created at a time
                    StandardTileData tileData = this.GetSecondaryTileData();
    
                    // having a unique NavigationUri is necessary for distinguishing this tile
                    string tileUri = string.Concat("/MainPage.xaml?", SecondaryTileUriSource);
                    ShellTile.Create(new Uri(tileUri, UriKind.Relative), tileData);
                }
            }
    
            //删除瓦片
            private void cbShowTile_Unchecked(object sender, RoutedEventArgs e)
            {
                ShellTile tile = this.FindTile(SecondaryTileUriSource);
                if (tile != null)
                {
                    tile.Delete();
                    MessageBox.Show("Secondary tile deleted.");
                }
            }
    
            /// <summary>
            /// 设置瓦片
            /// </summary>
            /// <returns></returns>
            private StandardTileData GetSecondaryTileData()
            {
                StandardTileData tileData = new StandardTileData
                {
                    Title = "Secondary Tile",
                    BackgroundImage = new Uri("/Images/logo.png", UriKind.Relative),
                    Count = 5,
                    BackTitle = "Secondary Tile",
                    BackBackgroundImage = new Uri("", UriKind.Relative),
                    BackContent = "WPG Add Remove Tile Sample"
                };
    
                return tileData;
            }
        }
    }

    0VG3$25L$FX242[J5UN0HFX

  • 相关阅读:
    greenDao 学习之坑 "java-gen" 目录下的类不能引用
    fastboot 刷system.img 提示 sending 'system' (*KB)... FAILED (remote: data too large)
    AndroidStudio导入第三方开源库 --文件夹源码
    git 克隆项目 与 分支简单操作
    Jquery当选中后费用或什么信息会自增长
    Jquery中各种标签的含义集合
    Jquery判断是否重复(连接到后台数据库进行比较)
    Jquery按空格键选中复选框或单选框
    JS(JQuery)操作Array的相关方法
    前端知识点-人资相关知识点
  • 原文地址:https://www.cnblogs.com/caodaiming/p/2312448.html
Copyright © 2020-2023  润新知