ườ

Tr

ọ ự ng ĐH Khoa H c T  Nhiên TP.HCM

TRUNG TÂM TIN H CỌ

GV Biên so n: Tr n Duy Thanh

L p trình Windows Phone Module 3 – Bài 8: Live Tiles

2014

Nội dung

• Giới thiệu Live Tiles

• Cách tạo Live Tiles

• Iconic

• Flip

• Cyclic

• Cách update Tiles

2

Live Tiles

1. Giới thiệu Live Tiles

3

Live Tiles

using Microsoft.Phone.Shell;

2. Cách tạo Live Tiles

Ø XAML

Ø Coding behind

4

Live Tiles

Ta có thể tạo Live Tiles bằng 2 cách:

2. Cách tạo Live Tiles

Ø XAML

Chỉnh trong WMAppManifest.xml (GUI và XAML)

5

Live Tiles

GUI:

2. Cách tạo Live Tiles

Ø XAML

Assets\Tiles\FlipCycleTileSmall.png

0

My Title

6

Live Tiles

2. Cách tạo Live Tiles

Ø Coding behind

var tileData = new IconicTileData()

{

Title = "Surf Sites",

SmallIconImage=,

IconImage =,

Count = 6

7

Live Tiles

};

2. Cách tạo Live Tiles

Ø Coding behind

Uri uri = new Uri("/SecondPage.xaml", UriKind.Relative);

var tile = ShellTile.ActiveTiles.FirstOrDefault(t =>

t.NavigationUri.Equals(uri));

if (tile == null)

{ShellTile.Create(uri, tileData, true);}

else

8

Live Tiles

{tile.Update(tileData);};

3. Iconic

9

Live Tiles

3. Iconic

6

10

Live Tiles

3. Iconic

Uri uri = new Uri(…);

var tileData = new IconicTileData() {

Title = "Surf Sites",

SmallIconImage =,

Count = 6,

WideContent1 = "LargeContent1",

};

11

Live Tiles

ShellTile.Create(uri, tileData, true);

4. Flip

12

Live Tiles

4. Flip

6

Surf Sites

13

Live Tiles

4. Flip

Uri uri = new Uri("/SecondPage.xaml",

UriKind.Relative);

var tileData = new FlipTileData()

{

Title = "Surf Sites",

SmallBackgroundImage =     new Uri(…),

BackgroundImage =,

14

Live Tiles

Count = 6,

};

4. Flip

ShellTile oldTile =

ShellTile.ActiveTiles.FirstOrDefault(x =>

x.NavigationUri == uri);

if (oldTile == null)  {

ShellTile.Create(uri, tileData, true);

}  else  {

oldTile.Update(tileData);

15

Live Tiles

}

5. Cyclic

16

Live Tiles

Template cho phép hiển thị 9 hình ảnh liên tiếp theo chu kỳ

5. Cyclic

Surf Sites

17

Live Tiles

6

5. Cyclic

Uri uri = new Uri(…);

var tileData = new CycleTileData()  {

Title = "Surf Sites",

Count = 6,

CycleImages = new List()          {

18

Live Tiles

new Uri(…),

new Uri(…),          },

};

5. Cyclic

ShellTile oldTile =

ShellTile.ActiveTiles.FirstOrDefault(x =>

x.NavigationUri == uri);

if (oldTile == null)      {

ShellTile.Create(uri, tileData, true);

}     else      {

19

Live Tiles

oldTile.Update(tileData);

}

6. Cách update Tiles

Ta dùng ShellTileSchedule trong namespace Microsoft.Phone.Shell để cập nhập Tiles.

var tileSchedule = new ShellTileSchedule();

tileSchedule.StartTime = DateTime.Now;

tileSchedule.Recurrence = UpdateRecurrence.Interval;

tileSchedule.Interval = UpdateInterval.EveryHour;

Uri remoteUri = new Uri(@"http://drthanh.com/h1.jpg");

tileSchedule.RemoteImageUri = remoteUri;

20

Live Tiles

tileSchedule.Start();

Thảo luận

21

Live Tiles