├── .gitattributes
├── .gitignore
├── AdaptiveTileExtensions.nuspec
├── AdaptiveTileExtensions.sln
├── AdaptiveTileExtensions
├── AdaptiveTile.cs
├── AdaptiveTileExtensions.csproj
├── Alignment.cs
├── Branding.cs
├── Group.cs
├── ImageCropping.cs
├── ImagePlacement.cs
├── Item.cs
├── Properties
│ ├── AdaptiveTileExtensions.rd.xml
│ └── AssemblyInfo.cs
├── SubGroup.cs
├── TemplateType.cs
├── Text.cs
├── TextStacking.cs
├── TextStyle.cs
├── Tile.cs
├── TileBinding.cs
├── TileImage.cs
├── project.json
└── project.lock.json
├── AdaptiveTileExtensionsSample
├── AdaptiveTileExtensionsSample.csproj
├── AdaptiveTileExtensionsSample_TemporaryKey.pfx
├── App.xaml
├── App.xaml.cs
├── ApplicationInsights.config
├── Assets
│ ├── LockScreenLogo.scale-200.png
│ ├── Logo.scale-100.png
│ ├── SmallLogo.scale-100.png
│ ├── SplashScreen.scale-100.png
│ ├── SplashScreen.scale-200.png
│ ├── Square150x150Logo.scale-200.png
│ ├── Square44x44Logo.scale-200.png
│ ├── Square44x44Logo.targetsize-24_altform-unplated.png
│ ├── StoreLogo.png
│ ├── StoreLogo.scale-100.png
│ ├── Wide310x150Logo.scale-200.png
│ └── WideLogo.scale-100.png
├── MainPage.xaml
├── MainPage.xaml.cs
├── Package.appxmanifest
├── Properties
│ ├── AssemblyInfo.cs
│ └── Default.rd.xml
├── project.json
└── project.lock.json
├── License
├── TileSample.PNG
└── readme.md
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | #################
2 | ## Fody
3 | #################
4 | !Tools/Fody/*
5 |
6 | AppPackages/
7 |
8 | #################
9 | ## Project specific
10 | #################
11 | SkyDriveAccess.txt
12 |
13 | #################
14 | ## Eclipse
15 | #################
16 |
17 | *.pydevproject
18 | .project
19 | .metadata
20 | bin/
21 | tmp/
22 | *.tmp
23 | *.bak
24 | *.swp
25 | *~.nib
26 | local.properties
27 | .classpath
28 | .settings/
29 | .loadpath
30 |
31 | # External tool builders
32 | .externalToolBuilders/
33 |
34 | # Locally stored "Eclipse launch configurations"
35 | *.launch
36 |
37 | # CDT-specific
38 | .cproject
39 |
40 | # PDT-specific
41 | .buildpath
42 |
43 |
44 | #################
45 | ## Visual Studio
46 | #################
47 |
48 | ## Ignore Visual Studio temporary files, build results, and
49 | ## files generated by popular Visual Studio add-ons.
50 |
51 | # User-specific files
52 | *.suo
53 | *.user
54 | *.sln.docstates
55 | *.nupkg
56 |
57 | # Build results
58 | [Dd]ebug/
59 | [Rr]elease/
60 | *_i.c
61 | *_p.c
62 | *.ilk
63 | *.meta
64 | *.obj
65 | *.pch
66 | *.pdb
67 | *.pgc
68 | *.pgd
69 | *.rsp
70 | *.sbr
71 | *.tlb
72 | *.tli
73 | *.tlh
74 | *.tmp
75 | *.vspscc
76 | .builds
77 | *.dotCover
78 |
79 |
80 | ## TODO: If you have NuGet Package Restore enabled, uncomment this
81 | packages/
82 |
83 | # Visual C++ cache files
84 | ipch/
85 | *.aps
86 | *.ncb
87 | *.opensdf
88 | *.sdf
89 |
90 | # Visual Studio profiler
91 | *.psess
92 | *.vsp
93 |
94 | # ReSharper is a .NET coding add-in
95 | _ReSharper*
96 | *.sln.ide
97 |
98 | # Installshield output folder
99 | [Ee]xpress
100 |
101 | # DocProject is a documentation generator add-in
102 | DocProject/buildhelp/
103 | DocProject/Help/*.HxT
104 | DocProject/Help/*.HxC
105 | DocProject/Help/*.hhc
106 | DocProject/Help/*.hhk
107 | DocProject/Help/*.hhp
108 | DocProject/Help/Html2
109 | DocProject/Help/html
110 |
111 | # Click-Once directory
112 | publish
113 |
114 | # Others
115 | [Bb]in
116 | [Oo]bj
117 | sql
118 | TestResults
119 | *.Cache
120 | ClientBin
121 | stylecop.*
122 | ~$*
123 | *.dbmdl
124 | Generated_Code #added for RIA/Silverlight projects
125 |
126 | # Backup & report files from converting an old project file to a newer
127 | # Visual Studio version. Backup files are not needed, because we have git ;-)
128 | _UpgradeReport_Files/
129 | Backup*/
130 | UpgradeLog*.XML
131 |
132 |
133 |
134 | ############
135 | ## Windows
136 | ############
137 |
138 | # Windows image file caches
139 | Thumbs.db
140 |
141 | # Folder config file
142 | Desktop.ini
143 |
144 |
145 | #############
146 | ## Python
147 | #############
148 |
149 | *.py[co]
150 |
151 | # Packages
152 | *.egg
153 | *.egg-info
154 | dist
155 | build
156 | eggs
157 | parts
158 | bin
159 | var
160 | sdist
161 | develop-eggs
162 | .installed.cfg
163 |
164 | # Installer logs
165 | pip-log.txt
166 |
167 | # Unit test / coverage reports
168 | .coverage
169 | .tox
170 |
171 | #Translations
172 | *.mo
173 |
174 | #Mr Developer
175 | .mr.developer.cfg
176 |
177 | # Mac crap
178 | .DS_Store
179 |
180 | lib
181 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensions.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | AdaptiveTileExtensions
5 | 1.0.1
6 |
7 | ScottIsAFool
8 |
9 | https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/master/LICENSE
10 | https://github.com/ScottIsAFool/AdaptiveTileExtensions
11 | false
12 | Helper library to more easily create the notification to update tiles for all sizes
13 |
14 | © Scott Lovegrove 2015
15 | en-US
16 | Adaptive tiles uwp
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensions.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.23107.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdaptiveTileExtensions", "AdaptiveTileExtensions\AdaptiveTileExtensions.csproj", "{E6FAC682-37F7-48D6-9789-1548AB104E11}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdaptiveTileExtensionsSample", "AdaptiveTileExtensionsSample\AdaptiveTileExtensionsSample.csproj", "{5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}"
9 | EndProject
10 | Global
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 | Debug|Any CPU = Debug|Any CPU
13 | Debug|ARM = Debug|ARM
14 | Debug|x64 = Debug|x64
15 | Debug|x86 = Debug|x86
16 | Release|Any CPU = Release|Any CPU
17 | Release|ARM = Release|ARM
18 | Release|x64 = Release|x64
19 | Release|x86 = Release|x86
20 | EndGlobalSection
21 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
22 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
23 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Debug|Any CPU.Build.0 = Debug|Any CPU
24 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Debug|ARM.ActiveCfg = Debug|ARM
25 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Debug|ARM.Build.0 = Debug|ARM
26 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Debug|x64.ActiveCfg = Debug|x64
27 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Debug|x64.Build.0 = Debug|x64
28 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Debug|x86.ActiveCfg = Debug|x86
29 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Debug|x86.Build.0 = Debug|x86
30 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Release|Any CPU.ActiveCfg = Release|Any CPU
31 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Release|Any CPU.Build.0 = Release|Any CPU
32 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Release|ARM.ActiveCfg = Release|ARM
33 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Release|ARM.Build.0 = Release|ARM
34 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Release|x64.ActiveCfg = Release|x64
35 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Release|x64.Build.0 = Release|x64
36 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Release|x86.ActiveCfg = Release|x86
37 | {E6FAC682-37F7-48D6-9789-1548AB104E11}.Release|x86.Build.0 = Release|x86
38 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Debug|Any CPU.ActiveCfg = Debug|x86
39 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Debug|ARM.ActiveCfg = Debug|ARM
40 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Debug|ARM.Build.0 = Debug|ARM
41 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Debug|ARM.Deploy.0 = Debug|ARM
42 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Debug|x64.ActiveCfg = Debug|x64
43 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Debug|x64.Build.0 = Debug|x64
44 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Debug|x64.Deploy.0 = Debug|x64
45 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Debug|x86.ActiveCfg = Debug|x86
46 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Debug|x86.Build.0 = Debug|x86
47 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Debug|x86.Deploy.0 = Debug|x86
48 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Release|Any CPU.ActiveCfg = Release|x86
49 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Release|ARM.ActiveCfg = Release|ARM
50 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Release|ARM.Build.0 = Release|ARM
51 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Release|ARM.Deploy.0 = Release|ARM
52 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Release|x64.ActiveCfg = Release|x64
53 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Release|x64.Build.0 = Release|x64
54 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Release|x64.Deploy.0 = Release|x64
55 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Release|x86.ActiveCfg = Release|x86
56 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Release|x86.Build.0 = Release|x86
57 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}.Release|x86.Deploy.0 = Release|x86
58 | EndGlobalSection
59 | GlobalSection(SolutionProperties) = preSolution
60 | HideSolutionNode = FALSE
61 | EndGlobalSection
62 | EndGlobal
63 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/AdaptiveTile.cs:
--------------------------------------------------------------------------------
1 | namespace AdaptiveTileExtensions
2 | {
3 | public static class AdaptiveTile
4 | {
5 | public static Tile CreateTile(string version = "3")
6 | {
7 | return new Tile(version);
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/AdaptiveTileExtensions.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {E6FAC682-37F7-48D6-9789-1548AB104E11}
8 | Library
9 | Properties
10 | AdaptiveTileExtensions
11 | AdaptiveTileExtensions
12 | en-US
13 | UAP
14 | 10.0.10240.0
15 | 10.0.10240.0
16 | 14
17 | 512
18 | {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
19 | AdaptiveTileExtensions.nuspec
20 |
21 |
22 | AnyCPU
23 | true
24 | full
25 | false
26 | bin\Debug\
27 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
28 | prompt
29 | 4
30 |
31 |
32 | AnyCPU
33 | pdbonly
34 | true
35 | bin\Release\
36 | TRACE;NETFX_CORE;WINDOWS_UWP
37 | prompt
38 | 4
39 |
40 |
41 | ARM
42 | true
43 | bin\ARM\Debug\
44 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
45 | ;2008
46 | full
47 | ARM
48 | false
49 | prompt
50 | true
51 |
52 |
53 | ARM
54 | bin\ARM\Release\
55 | TRACE;NETFX_CORE;WINDOWS_UWP
56 | true
57 | ;2008
58 | pdbonly
59 | ARM
60 | false
61 | prompt
62 | true
63 |
64 |
65 | x64
66 | true
67 | bin\x64\Debug\
68 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
69 | ;2008
70 | full
71 | x64
72 | false
73 | prompt
74 | true
75 |
76 |
77 | x64
78 | bin\x64\Release\
79 | TRACE;NETFX_CORE;WINDOWS_UWP
80 | true
81 | ;2008
82 | pdbonly
83 | x64
84 | false
85 | prompt
86 | true
87 |
88 |
89 | x86
90 | true
91 | bin\x86\Debug\
92 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
93 | ;2008
94 | full
95 | x86
96 | false
97 | prompt
98 | true
99 |
100 |
101 | x86
102 | bin\x86\Release\
103 | TRACE;NETFX_CORE;WINDOWS_UWP
104 | true
105 | ;2008
106 | pdbonly
107 | x86
108 | false
109 | prompt
110 | true
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 | PreserveNewest
135 |
136 |
137 |
138 | 14.0
139 |
140 |
141 |
148 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/Alignment.cs:
--------------------------------------------------------------------------------
1 | namespace AdaptiveTileExtensions
2 | {
3 | public enum Alignment
4 | {
5 | Left,
6 | Center,
7 | Right,
8 | Stretch
9 | }
10 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/Branding.cs:
--------------------------------------------------------------------------------
1 | namespace AdaptiveTileExtensions
2 | {
3 | public enum Branding
4 | {
5 | Name,
6 | None,
7 | Logo,
8 | NameAndLogo
9 | }
10 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/Group.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Text;
3 |
4 | namespace AdaptiveTileExtensions
5 | {
6 | internal class Group : Item
7 | {
8 | internal Group()
9 | {
10 | SubGroups = new List();
11 | }
12 |
13 | internal List SubGroups { get; set; }
14 | internal override string GetXml()
15 | {
16 | var sb = new StringBuilder("");
17 |
18 | foreach (var subgroup in SubGroups)
19 | {
20 | sb.Append(subgroup.GetXml());
21 | }
22 |
23 | sb.Append("");
24 |
25 | return sb.ToString();
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/ImageCropping.cs:
--------------------------------------------------------------------------------
1 | namespace AdaptiveTileExtensions
2 | {
3 | public enum ImageCropping
4 | {
5 | None,
6 | Circle
7 | }
8 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/ImagePlacement.cs:
--------------------------------------------------------------------------------
1 | namespace AdaptiveTileExtensions
2 | {
3 | public enum ImagePlacement
4 | {
5 | Inline,
6 | Background,
7 | Peek
8 | }
9 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/Item.cs:
--------------------------------------------------------------------------------
1 | namespace AdaptiveTileExtensions
2 | {
3 | public abstract class Item
4 | {
5 | internal abstract string GetXml();
6 | }
7 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/Properties/AdaptiveTileExtensions.rd.xml:
--------------------------------------------------------------------------------
1 |
2 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("AdaptiveTileExtensions")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("AdaptiveTileExtensions")]
13 | [assembly: AssemblyCopyright("Copyright © 2015")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Version information for an assembly consists of the following four values:
18 | //
19 | // Major Version
20 | // Minor Version
21 | // Build Number
22 | // Revision
23 | //
24 | // You can specify all the values or you can default the Build and Revision Numbers
25 | // by using the '*' as shown below:
26 | // [assembly: AssemblyVersion("1.0.*")]
27 | [assembly: AssemblyVersion("1.0.1.0")]
28 | [assembly: AssemblyFileVersion("1.0.1.0")]
29 | [assembly: ComVisible(false)]
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/SubGroup.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Text;
3 |
4 | namespace AdaptiveTileExtensions
5 | {
6 | public class SubGroup : Item
7 | {
8 | private readonly List- _items = new List
- ();
9 |
10 | ///
11 | /// Gets or sets the width.
12 | /// NOTE: An 8px margin gets added between columns
13 | ///
14 | public int? Width { get; set; }
15 |
16 | public TextStacking? TextStacking { get; set; }
17 |
18 | public void AddText(Text text)
19 | {
20 | _items.Add(text);
21 | }
22 |
23 | public void AddImage(TileImage tileImage)
24 | {
25 | _items.Add(tileImage);
26 | }
27 |
28 | public void ClearItems()
29 | {
30 | _items.Clear();
31 | }
32 |
33 | internal override string GetXml()
34 | {
35 | var sb = new StringBuilder("");
50 |
51 | foreach (var item in _items)
52 | {
53 | sb.Append(item.GetXml());
54 | }
55 |
56 | sb.Append("");
57 | return sb.ToString();
58 | }
59 | }
60 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/TemplateType.cs:
--------------------------------------------------------------------------------
1 | namespace AdaptiveTileExtensions
2 | {
3 | public enum TemplateType
4 | {
5 | TileSmall,
6 | TileMedium,
7 | TileWide,
8 |
9 | ///
10 | /// The large tile size
11 | /// NOTE: This is for desktop only.
12 | ///
13 | TileLarge
14 | }
15 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/Text.cs:
--------------------------------------------------------------------------------
1 | using System.Text;
2 |
3 | namespace AdaptiveTileExtensions
4 | {
5 | public class Text : Item
6 | {
7 | public string Content { get; set; }
8 | public TextStyle? Style { get; set; }
9 | public Alignment? Alignment { get; set; }
10 | public bool? WrapText { get; set; }
11 | public int? MaxLines { get; set; }
12 |
13 | ///
14 | /// Gets or sets whether the subtle style is applied.
15 | /// This results in a 60% opacity of text
16 | ///
17 | public bool? IsSubtleStyle { get; set; }
18 |
19 | ///
20 | /// Gets or sets the is numeral.
21 | /// This results in a reduction of line height so that content above and below come extremely close to the text
22 | /// This is only if the TextStyle is Title, SubHeader or Header
23 | ///
24 | public bool? IsNumeralStyle { get; set; }
25 |
26 | public Text()
27 | {
28 | }
29 |
30 | public Text(string content)
31 | {
32 | Content = content;
33 | }
34 |
35 | internal override string GetXml()
36 | {
37 | var sb = new StringBuilder("{Content}");
77 | return sb.ToString();
78 | }
79 | }
80 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/TextStacking.cs:
--------------------------------------------------------------------------------
1 | namespace AdaptiveTileExtensions
2 | {
3 | public enum TextStacking
4 | {
5 | Top,
6 | Center,
7 | Bottom
8 | }
9 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/TextStyle.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace AdaptiveTileExtensions
4 | {
5 | public enum TextStyle
6 | {
7 | ///
8 | /// The caption style
9 | /// Font Height: 12epx
10 | /// Font Weight: Regular
11 | ///
12 | Caption,
13 |
14 | ///
15 | /// The base style
16 | /// Font Height: 15epx
17 | /// Font Weight: SemiBold
18 | ///
19 | Base,
20 |
21 | ///
22 | /// The body style
23 | /// Font Height: 15epx
24 | /// Font Weight: Regular
25 | ///
26 | Body,
27 |
28 | ///
29 | /// The caption subtle style
30 | /// Obsolete: Please use Caption, then set IsCaptionStyle = true
31 | ///
32 | [Obsolete("Please use Caption, then set IsCaptionStyle = true")]
33 | CaptionSubtle,
34 |
35 | ///
36 | /// The subtitle style
37 | /// Font Height: 20epx
38 | /// Font Weight: Regular
39 | ///
40 | Subtitle,
41 |
42 | ///
43 | /// The title style
44 | /// Font Height: 24epx
45 | /// Font Weight: SemiLight
46 | ///
47 | Title,
48 |
49 | ///
50 | /// The subheader style
51 | /// Font Height: 34epx
52 | /// Font Weight: Light
53 | ///
54 | Subheader,
55 |
56 | ///
57 | /// The header style
58 | /// Font Height: 46epx
59 | /// Font Weight: Light
60 | ///
61 | Header
62 | }
63 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/Tile.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 | using Windows.Data.Xml.Dom;
5 | using Windows.UI.Notifications;
6 |
7 | namespace AdaptiveTileExtensions
8 | {
9 | public class Tile
10 | {
11 | private const string Xml = "{1}";
12 |
13 | internal Tile(string version)
14 | {
15 | Version = version;
16 | Tiles = new List();
17 | }
18 |
19 | public string Version { get; set; }
20 |
21 | public List Tiles { get; set; }
22 |
23 | private string GetXmlInternal()
24 | {
25 | var sb = new StringBuilder();
26 | foreach (var tile in Tiles)
27 | {
28 | sb.Append(tile.GetXml());
29 | }
30 |
31 | var xml = string.Format(Xml, Version, sb);
32 | return xml;
33 | }
34 |
35 | public TileNotification GetNotification()
36 | {
37 | var doc = new XmlDocument();
38 | var xml = GetXmlInternal();
39 | doc.LoadXml(xml);
40 |
41 | return new TileNotification(doc);
42 | }
43 | }
44 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/TileBinding.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Linq;
3 | using System.Text;
4 |
5 | namespace AdaptiveTileExtensions
6 | {
7 | public class TileBinding
8 | {
9 | private readonly List
- _items = new List
- ();
10 | private Group _group = new Group();
11 |
12 | internal TileBinding()
13 | {
14 |
15 | }
16 |
17 | public static TileBinding Create(TemplateType templateType)
18 | {
19 | return new TileBinding { TemplateType = templateType };
20 | }
21 |
22 |
23 | public TileImage BackgroundImage { get; set; }
24 |
25 | public TemplateType TemplateType { get; set; }
26 |
27 | public Branding? Branding { get; set; }
28 |
29 | public string DisplayName { get; set; }
30 |
31 | public TextStacking? TextStacking { get; set; }
32 |
33 | public int? OverlayOpacity { get; set; }
34 |
35 | public void Add(Item item)
36 | {
37 | var subGroup = item as SubGroup;
38 | if (subGroup != null)
39 | {
40 | AddSubgroup(subGroup);
41 | }
42 | else
43 | {
44 | _items.Add(item);
45 | }
46 | }
47 |
48 | ///
49 | /// Adds the subgroup.
50 | ///
51 | /// The sub group.
52 | /// if set to true [add to new group]. Once a new group has been added, no more subgroups can be added to any previous groups
53 | public void AddSubgroup(SubGroup subGroup, bool addToNewGroup = false)
54 | {
55 | if (subGroup != null)
56 | {
57 | if (addToNewGroup)
58 | {
59 | _group = new Group();
60 | }
61 |
62 | _group.SubGroups.Add(subGroup);
63 |
64 | var groupAdded = _items.LastOrDefault(x => x is Group);
65 | if (groupAdded == null || addToNewGroup)
66 | {
67 | _items.Add(_group);
68 | }
69 | }
70 | }
71 |
72 | public void ClearItems()
73 | {
74 | _items.Clear();
75 | }
76 |
77 | internal string GetXml()
78 | {
79 | var sb = new StringBuilder($"");
106 |
107 | if (!string.IsNullOrEmpty(BackgroundImage?.Source))
108 | {
109 | sb.Append(BackgroundImage.GetXml());
110 | }
111 |
112 | foreach (var item in _items)
113 | {
114 | sb.Append(item.GetXml());
115 | }
116 |
117 | sb.Append("");
118 | return sb.ToString();
119 | }
120 | }
121 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/TileImage.cs:
--------------------------------------------------------------------------------
1 | using System.Text;
2 |
3 | namespace AdaptiveTileExtensions
4 | {
5 | public class TileImage : Item
6 | {
7 | public TileImage(ImagePlacement placement)
8 | {
9 | Placement = placement;
10 | }
11 |
12 | public ImagePlacement Placement { get; set; }
13 | public string Source { get; set; }
14 | public bool? RemoveMargin { get; set; }
15 | public Alignment? ImageAlignment { get; set; }
16 | public ImageCropping? ImageCropping { get; set; }
17 |
18 | internal override string GetXml()
19 | {
20 | var sb = new StringBuilder($"");
44 | return sb.ToString();
45 | }
46 | }
47 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensions/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0"
4 | },
5 | "frameworks": {
6 | "uap10.0": {}
7 | },
8 | "runtimes": {
9 | "win10-arm": {},
10 | "win10-arm-aot": {},
11 | "win10-x86": {},
12 | "win10-x86-aot": {},
13 | "win10-x64": {},
14 | "win10-x64-aot": {}
15 | }
16 | }
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/AdaptiveTileExtensionsSample.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | x86
7 | {5647F0E9-8E7F-4DEB-84A9-6B733B20AFCF}
8 | AppContainerExe
9 | Properties
10 | AdaptiveTileExtensionsSample
11 | AdaptiveTileExtensionsSample
12 | en-US
13 | UAP
14 | 10.0.10240.0
15 | 10.0.10240.0
16 | 14
17 | true
18 | 512
19 | {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
20 | AdaptiveTileExtensionsSample_TemporaryKey.pfx
21 |
22 |
23 | true
24 | bin\ARM\Debug\
25 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
26 | ;2008
27 | full
28 | ARM
29 | false
30 | prompt
31 | true
32 |
33 |
34 | bin\ARM\Release\
35 | TRACE;NETFX_CORE;WINDOWS_UWP
36 | true
37 | ;2008
38 | pdbonly
39 | ARM
40 | false
41 | prompt
42 | true
43 | true
44 |
45 |
46 | true
47 | bin\x64\Debug\
48 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
49 | ;2008
50 | full
51 | x64
52 | false
53 | prompt
54 | true
55 |
56 |
57 | bin\x64\Release\
58 | TRACE;NETFX_CORE;WINDOWS_UWP
59 | true
60 | ;2008
61 | pdbonly
62 | x64
63 | false
64 | prompt
65 | true
66 | true
67 |
68 |
69 | true
70 | bin\x86\Debug\
71 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
72 | ;2008
73 | full
74 | x86
75 | false
76 | prompt
77 | true
78 |
79 |
80 | bin\x86\Release\
81 | TRACE;NETFX_CORE;WINDOWS_UWP
82 | true
83 | ;2008
84 | pdbonly
85 | x86
86 | false
87 | prompt
88 | true
89 | true
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 | App.xaml
98 |
99 |
100 | MainPage.xaml
101 |
102 |
103 |
104 |
105 |
106 | Designer
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 | MSBuild:Compile
123 | Designer
124 |
125 |
126 | MSBuild:Compile
127 | Designer
128 |
129 |
130 |
131 |
132 | {e6fac682-37f7-48d6-9789-1548ab104e11}
133 | AdaptiveTileExtensions
134 |
135 |
136 |
137 | 14.0
138 |
139 |
140 |
147 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/AdaptiveTileExtensionsSample_TemporaryKey.pfx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/AdaptiveTileExtensionsSample/AdaptiveTileExtensionsSample_TemporaryKey.pfx
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/App.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 | using Windows.ApplicationModel;
4 | using Windows.ApplicationModel.Activation;
5 | using Windows.UI.Xaml;
6 | using Windows.UI.Xaml.Controls;
7 | using Windows.UI.Xaml.Navigation;
8 |
9 | // The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=402347&clcid=0x409
10 |
11 | namespace AdaptiveTileExtensionsSample
12 | {
13 | ///
14 | /// Provides application-specific behavior to supplement the default Application class.
15 | ///
16 | sealed partial class App : Application
17 | {
18 | ///
19 | /// Initializes the singleton application object. This is the first line of authored code
20 | /// executed, and as such is the logical equivalent of main() or WinMain().
21 | ///
22 | public App()
23 | {
24 | this.InitializeComponent();
25 | this.Suspending += OnSuspending;
26 | }
27 |
28 | ///
29 | /// Invoked when the application is launched normally by the end user. Other entry points
30 | /// will be used such as when the application is launched to open a specific file.
31 | ///
32 | /// Details about the launch request and process.
33 | protected override void OnLaunched(LaunchActivatedEventArgs e)
34 | {
35 |
36 | #if DEBUG
37 | if (Debugger.IsAttached)
38 | {
39 | this.DebugSettings.EnableFrameRateCounter = true;
40 | }
41 | #endif
42 |
43 | Frame rootFrame = Window.Current.Content as Frame;
44 |
45 | // Do not repeat app initialization when the Window already has content,
46 | // just ensure that the window is active
47 | if (rootFrame == null)
48 | {
49 | // Create a Frame to act as the navigation context and navigate to the first page
50 | rootFrame = new Frame();
51 |
52 | rootFrame.NavigationFailed += OnNavigationFailed;
53 |
54 | if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
55 | {
56 | //TODO: Load state from previously suspended application
57 | }
58 |
59 | // Place the frame in the current Window
60 | Window.Current.Content = rootFrame;
61 | }
62 |
63 | if (rootFrame.Content == null)
64 | {
65 | // When the navigation stack isn't restored navigate to the first page,
66 | // configuring the new page by passing required information as a navigation
67 | // parameter
68 | rootFrame.Navigate(typeof(MainPage), e.Arguments);
69 | }
70 | // Ensure the current window is active
71 | Window.Current.Activate();
72 | }
73 |
74 | ///
75 | /// Invoked when Navigation to a certain page fails
76 | ///
77 | /// The Frame which failed navigation
78 | /// Details about the navigation failure
79 | void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
80 | {
81 | throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
82 | }
83 |
84 | ///
85 | /// Invoked when application execution is being suspended. Application state is saved
86 | /// without knowing whether the application will be terminated or resumed with the contents
87 | /// of memory still intact.
88 | ///
89 | /// The source of the suspend request.
90 | /// Details about the suspend request.
91 | private void OnSuspending(object sender, SuspendingEventArgs e)
92 | {
93 | var deferral = e.SuspendingOperation.GetDeferral();
94 | //TODO: Save application state and stop any background activity
95 | deferral.Complete();
96 | }
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/ApplicationInsights.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Assets/LockScreenLogo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/AdaptiveTileExtensionsSample/Assets/LockScreenLogo.scale-200.png
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Assets/Logo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/AdaptiveTileExtensionsSample/Assets/Logo.scale-100.png
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Assets/SmallLogo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/AdaptiveTileExtensionsSample/Assets/SmallLogo.scale-100.png
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Assets/SplashScreen.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/AdaptiveTileExtensionsSample/Assets/SplashScreen.scale-100.png
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Assets/SplashScreen.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/AdaptiveTileExtensionsSample/Assets/SplashScreen.scale-200.png
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Assets/Square150x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/AdaptiveTileExtensionsSample/Assets/Square150x150Logo.scale-200.png
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Assets/Square44x44Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/AdaptiveTileExtensionsSample/Assets/Square44x44Logo.scale-200.png
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Assets/Square44x44Logo.targetsize-24_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/AdaptiveTileExtensionsSample/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Assets/StoreLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/AdaptiveTileExtensionsSample/Assets/StoreLogo.png
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Assets/StoreLogo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/AdaptiveTileExtensionsSample/Assets/StoreLogo.scale-100.png
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Assets/Wide310x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/AdaptiveTileExtensionsSample/Assets/Wide310x150Logo.scale-200.png
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Assets/WideLogo.scale-100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/AdaptiveTileExtensionsSample/Assets/WideLogo.scale-100.png
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using Windows.UI.Notifications;
2 | using Windows.UI.Xaml;
3 | using Windows.UI.Xaml.Controls;
4 | using AdaptiveTileExtensions;
5 |
6 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
7 |
8 | namespace AdaptiveTileExtensionsSample
9 | {
10 | ///
11 | /// An empty page that can be used on its own or navigated to within a Frame.
12 | ///
13 | public sealed partial class MainPage : Page
14 | {
15 | public MainPage()
16 | {
17 | this.InitializeComponent();
18 |
19 | Loaded += OnLoaded;
20 | }
21 |
22 | private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
23 | {
24 | var tile = AdaptiveTile.CreateTile();
25 |
26 | #region for wide tile with background
27 |
28 | var wideBinding = TileBinding.Create(TemplateType.TileWide);
29 | wideBinding.Branding = Branding.NameAndLogo;
30 | var wideLogo = new TileImage(ImagePlacement.Background)
31 | {
32 | Source = "http://fc02.deviantart.net/fs71/i/2013/359/a/4/deadpool_logo_1_fill_by_mr_droy-d5q6y5u.png"
33 | };
34 | //background/peek images need to be at the root of the binding;
35 | wideBinding.BackgroundImage = wideLogo;
36 |
37 | var wideHeader = new Text("You have mail") {Style = TextStyle.Body};
38 | var wideContent = new Text("Someone likes you!") {Style = TextStyle.Caption};
39 |
40 | var wideSubgroup = new SubGroup();
41 | wideSubgroup.AddText(wideHeader);
42 | wideSubgroup.AddText(wideContent);
43 |
44 | wideBinding.AddSubgroup(wideSubgroup, true);
45 |
46 | #endregion
47 |
48 | #region square tile
49 |
50 | var binding = TileBinding.Create(TemplateType.TileMedium);
51 | binding.Branding = Branding.None;
52 |
53 | var header = new Text("You have mail") { Style = TextStyle.Body, WrapText = true };
54 | var content = new Text("Someone likes you!") { Style = TextStyle.Caption, IsSubtleStyle = true , WrapText = true,Alignment = Alignment.Center};
55 | var logo = new TileImage(ImagePlacement.Inline)
56 | {
57 | Source = "http://fc02.deviantart.net/fs71/i/2013/359/a/4/deadpool_logo_1_fill_by_mr_droy-d5q6y5u.png"
58 | };
59 |
60 | var imageSubgroup = new SubGroup()
61 | {
62 | Width = 20
63 | };
64 | imageSubgroup.AddImage(logo);
65 |
66 |
67 | var subgroup = new SubGroup();
68 | subgroup.AddText(header);
69 | subgroup.AddText(content);
70 |
71 | binding.AddSubgroup(imageSubgroup);
72 | binding.AddSubgroup(subgroup);
73 |
74 | #endregion
75 |
76 | // Add the types of tile bindings to the tile.
77 | tile.Tiles.Add(wideBinding);
78 | tile.Tiles.Add(binding);
79 |
80 | var notification = tile.GetNotification();
81 |
82 | TileUpdateManager.CreateTileUpdaterForApplication().Update(notification);
83 |
84 | }
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Package.appxmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
13 |
14 |
15 |
16 |
17 | AdaptiveTileExtensionsSample
18 | scott
19 | Assets\StoreLogo.png
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
34 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("AdaptiveTileExtensionsSample")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("AdaptiveTileExtensionsSample")]
13 | [assembly: AssemblyCopyright("Copyright © 2015")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Version information for an assembly consists of the following four values:
18 | //
19 | // Major Version
20 | // Minor Version
21 | // Build Number
22 | // Revision
23 | //
24 | // You can specify all the values or you can default the Build and Revision Numbers
25 | // by using the '*' as shown below:
26 | // [assembly: AssemblyVersion("1.0.*")]
27 | [assembly: AssemblyVersion("1.0.0.0")]
28 | [assembly: AssemblyFileVersion("1.0.0.0")]
29 | [assembly: ComVisible(false)]
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/Properties/Default.rd.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/AdaptiveTileExtensionsSample/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0"
4 | },
5 | "frameworks": {
6 | "uap10.0": {}
7 | },
8 | "runtimes": {
9 | "win10-arm": {},
10 | "win10-arm-aot": {},
11 | "win10-x86": {},
12 | "win10-x86-aot": {},
13 | "win10-x64": {},
14 | "win10-x64-aot": {}
15 | }
16 | }
--------------------------------------------------------------------------------
/License:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) Scott Lovegrove
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/TileSample.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ScottIsAFool/AdaptiveTileExtensions/b1469edfcd0605dcd67590748b9bce68cb345eb7/TileSample.PNG
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | #NOTE: This is now defunct, please use the official package, details [http://blogs.msdn.com/b/tiles_and_toasts/archive/2015/08/20/introducing-notificationsextensions-for-windows-10.aspx](http://blogs.msdn.com/b/tiles_and_toasts/archive/2015/08/20/introducing-notificationsextensions-for-windows-10.aspx)
2 |
3 | # Adaptive Tile Extensions
4 |
5 | Adaptive Tile Extensions is a project to more easily allow a developer to create the xml required for adaptive extensions in Windows 10.
6 |
7 | ## What are Adaptive Tiles?
8 | Information on what they are can be found in the Build 2015 talk about Tiles, Notifications and the Action Centre [https://channel9.msdn.com/Events/Build/2015/2-762](https://channel9.msdn.com/Events/Build/2015/2-762 "Tiles talk")
9 |
10 | ## Your code
11 | var tile = AdaptiveTile.CreateTile();
12 | var binding = TileBinding.Create(TemplateType.TileWide);
13 | binding.Branding = Branding.None;
14 |
15 | var header = new Text("You have mail") {Style = TextStyle.Body};
16 | var content = new Text("Someone likes you!") {Style = TextStyle.Caption};
17 | var logo = new TileImage(ImagePlacement.Inline)
18 | {
19 | Source = "http://fc02.deviantart.net/fs71/i/2013/359/a/4/deadpool_logo_1_fill_by_mr_droy-d5q6y5u.png"
20 | };
21 |
22 | var logoSubGroup = new SubGroup {Width = 40};
23 | logoSubGroup.AddImage(logo);
24 |
25 | var subgroup = new SubGroup();
26 | subgroup.AddText(header);
27 | subgroup.AddText(content);
28 |
29 | binding.Add(logoSubGroup);
30 | binding.Add(subgroup);
31 |
32 | tile.Tiles.Add(binding);
33 | var notification = tile.GetNotification();
34 |
35 | ## The Generated XML
36 | You have mailSomeone likes you!
37 |
38 | ## The Resulting Tile
39 | 
40 |
41 | This helper is a quick and easy way for you to create all the information for a tile, for whatever size you want to support, without having to deal with generating the XML yourself.
42 |
43 |
--------------------------------------------------------------------------------