Tiles im Square oder Wide Format, dann auch unterschiedliche Skalierungen, Splash Screens… Für alles sind unterschiedliche Größen der Images erforderlich.
Eine Seite mit Aufstellung aller Größen könnte helfen. Aber diese hier http://msdn.microsoft.com/en-us/library/windows/apps/Hh781198.aspx ist z.B. nicht komplett. Visual Studio hilft da sehr mit dem Package Manifest Editor. Der Editor zeigt alle Tile-Sizes die verwendet werden können. Die meisten Designer haben aber kein Visual Studio 😉
Somit meine Aufstellung hier:
| Description | Scale 180 | Scale 140 | Scale 100 | Scale 80 |
| Square 70×70 | 126 x 126 | 98 x 98 | 70 x 70 | 56 x 56 |
| Square 150×150 | 270 x 270 | 210 x 210 | 150 x 150 | 120 x 120 |
| Wide 310×150 | 558 x 270 | 434 x 210 | 310 x 150 | 248 x 120 |
| Wide 310×310 | 558 x 558 | 434 x 434 | 310 x 310 | 248 x 248 |
| Splash Screen | 1116 x 540 | 868 x 420 | 620 x 300 | n.a. |
| Square 30×30 | 54 x 54 | 42 x 42 | 30 x 30 | 24 x 24 |
| Store Logo | 90 x 90 | 70 x 70 | 50 x 50 | n.a. |
| Badge Logo | 43 x 43 | 33 x 33 | 24 x 24 | n.a. |
Im Windows App Store können auch promotional Images angezeigt werden. Die Größen dafür:
| Description | Grösse 1 | Grösse 2 | Grösse 3 | Grösse 4 |
| Promotional Image | 846 x 468 | 558 x 756 | 414 x 468 | 414 x 180 |
Das könnte jetzt helfen.
Christian
Dienstag, 3. Dezember gibt es die nächste .NET User Group Austria:
Visual Studio 2013 und .NET 4.5.1 sind released – da gibt es einiges Neues! Christian zeigt neue Features zu Visual Studio 2013, Windows Store Apps für Windows 8.1, One ASP.NET, und das Entity Framework 6!
Location: Microsoft Austria
Treffpunkt: 17:30
Start: 18:00
Anmeldung: über Facebook oder XING oder einfach ein Email schicken!
Dienstag, 3.9.2013 gibt es bei der .NET User Group Austria
Leap Motion Controller in Action mit C#
mit Christoph Wille
Put Your Hands Up In The Air – Hände weg von der Maus und dem Monitor, es gilt Air Space statt Touch. Christoph zeigt den Leap Motion Controller in Aktion mit diversen Apps, und dann geht es ins SDK und die Implementierung von C# Code der auf den Controller zugreift.
Treffpunkt: 17:30
Start des Vortrags: 18:00
Nach dem Vortrag Diskussionsrunde mit Verpflegung
Location: Global Knowledge, Wien
Anmeldung per Email oder
https://www.facebook.com/events/144938379050496/
Christian
Mit Windows 8.1 gibt es einen Major Update bei der WebView Control. Mit diesem Update ist sie für viele Szenarien eine praktische Variante HTML Content anzuzeigen.
In einem Projekt verwende ich die WebView Control um dynamisch HTML Code der von einem Service geliefert wird anzuzeigen, dabei aber auch noch CSS Styling direkt von der Windows Store App zu nutzen. Beides ist jetzt einfach möglich.
Die WebView Control kann einen HTML String mit der Methode NavigateToString laden:
string htmlContent = service.GetHtml(); webView1.NavigateToString(htmlContent);
Im Windows Store App Projekt gibt es ein Unterverzeichnis CSS mit der Datei Styles.css. Um diese Styles direkt vom HTML Content anzusprechen, kann die CSS Datei mit dem Prefix ms-appx-web referenziert werden. ms-appx wird von der WebView nicht unterstützt, aber ms-appx-web:
<link href="ms-appx-web:///css/Styles.css" rel="stylesheet" />
Christian
Eines der besten Features von C++11 sind Lambdas. Nach vielen Jahren keinerlei
Änderungen beim Syntax von C++ hat sich mit dem neuen Standard viel getan. In
diesem Blog Post erkläre ich die C++11 Lambdas im Vergleich zu C#.

Einfache Lambdas
Starten wir mit einer einfachen Lambda Expression in C#:
Action l1 = () => Console.WriteLine("Hello, Lambda!");
l1();
Bei C# ist der Lambda Operator => wichtig. Links davon befinden sich die Parameter, rechts die Implementierung. Die Lambda Expression von diesem Beispiel hat keine Parameter, deshalb auch leere runde Klammern. Rechts in der Implementierung wird kein Wert zurückgeliefert. Deshalb passt beim Typ der Lambda Expression der delegate Action. Die Lambda Expression kann mit dem Syntax eines normalen Funktionsaufrufs erfolgen. Tatsächlich steckt ja auch eine Methode dahinter.
In C++11 sieht das ganze nicht so anders aus:
auto l1 = [] {
std::cout << "hello, lambda" << std::endl;
};
l1();
Hier wird eine Lambda über [] erkannt. Nach den eckigen Klammern folgen geschwungene mit der Implementierung. Während es in C# bei Lambdas nicht möglich ist das var keyword für die Variablendeklation zu verwenden, geht das bei C++11. Das C++11 auto keyword ist ähnlich dem var in C#.
Bei C++11 kann die Lambda auch gleich direkt aufgerufen werden ohne vorher eine Variable deklarieren zu müssen:
[] {
std::cout << "hello, lambda" << std::endl;
}();
Rückgabewerte
Soll eine Lambda einen Wert zurückliefern, muß in C# nur eine Variable deklariert werden die der Signatur und dem Rückgabewert der Lambda entspricht, und der Wert kann auch schon zurückgeliefert werden:
Func l2 = () => 42; int x2 = l2();
Hier verwende ich eine Variable vom Typ Func für keine Argumente und einen int Return-Typ. Wenn die Lambda Expression aus einem einzigen Statement besteht ist es nicht notwendig ein return zu schreiben, und die geschwungenen Klammern können entfallen. In der langen Form sieht das dann so aus:
Func l2b = () => { return 42; };
int x2b = l2b();
Und jetzt das ganze in C++11:
auto l2 = [] {
return 42;
};
int x2 = l2();
Deklaration des return-Typs ist hier nicht notwendig. Der Typ wird aus der Implementierung erkannt. Anders als in C# sind das return Statement und {} aber notwendig. Bei zukünftigen C++ Versionen könnte sich das aber auch noch ändern.
Bei C++11 ist die Deklaration des Return-Typs auch noch möglich:
auto l3 = []() -> int {
return 42;
};
int x3 = l3();
Die Deklaration des Lambda-Typs kann mit dem neuen C++11 Syntax des trailing return types erfolgen. Mit diesem Syntax ist es auch notwendig die runden Klammern für die Eingabeparameter zu verwenden.
Bis auf kleine Syntax-Unterschiede sind die Lambdas bei C# und C++11 sehr ähnlich. Im zweiten Teil des Artikels geht es noch weiter mit Parameter und Captures, da finden sich dann auch [] und () im Einsatz.
Weitere Informationen zu C++11 bei meinem C++11 Workshop.
Christian
CN innovation
@christiannagel
Das Bild zeigt einen 1927 Red Lancia Lambda © Roberto Cerruti | Dreamstime.com

Morgen geht’s los mit dem Microsoft Day in der Hofburg in Wien. Rehearsal und Videoaufnahme gab es bereits letzte Woche. Rina (den Vortrag machen wir gemeinsam) hat auch schon über unseren Vortrag gepostet. Jetzt auch noch meine 2 Cents dazu.
Windows 8 Apps für Fortgeschrittene (Contracts, Notifications, Secondary Live Tiles) – der Titel sagt schon alles 🙂 Tatsächlich geht es darum Windows Store Apps für User interessanter zu machen. Nachdem die Apps meist viel kleiner sind als Desktop Apps (z.B. Vergleich mit Outlook), ist das Zusammenspiel der Apps viel wichtiger. Das lässt sich wirklich recht einfach bewerkstelligen – z.B. mit Hilfe das Sharings. Settings, Share, Search sind wichtige Themen in diesem Vortrag. Und dann soll der User noch auf den Tile klicken. Eine App kann dabei auch mehrere Tiles haben, unterschiedliche Einsprungspunkte in die App. Daten für die Tiles können über Push Notification von außen angestoßen werden. Wie das alles implementiert werden kann zeigen wir in unserer Session.
See you there!
Christian
Weitere Infos zu Windows Store Apps gibt es neben diesem Blog im Buch Professional C# 2012 und bei meinen Workshops!
Letzte Woche gab es von mir 4 Vorträge bei der BASTA! in Darmstadt. Wie versprochen gibt es hier die Slides und Code Samples.
Mehr Informationen zu WPF 4.5, Async mit C# und Windows Store Apps gibt es auch in meinen Workshops und im Buch Professional C# 2012 and .NET 4.5.
Viel Spaß!
Christian
© http://www.dreamstime.com/maikpeter_info
WPF 4.5 – Die Neuerungen im Überblick
Das wird in den WPF 4.5 Samples gezeigt:
- Ribbon Control
- WeakEventManager
- Markup Extensions für Events
- CallerMemberAttribute
- Delay Binding
- Live Shaping
- Async Data Validation
- Collections on Non-UI Threads
Async mit C# 5
Features der Async Samples:
- Async Patterns
- async & await keywords
- Error Handling
- Cancellation
Um das Beispiel mit den Async Patterns lauffähig zu machen musst du deine eigene Bing App-Id eintragen!
Windows Store Apps mit C#
Features der Async Samples:
- .NET und Windows RT mit C# Async, HttpClient, LINQ to XML, AppBar…
- Search
- Share
Um das Beispiel lauffähig zu machen musst du deine eigene Bing App-Id eintragen!
Tiles, Toasts und Notifications
Features der Tiles, Toasts und Notifications Samples:
- Square und Wide Tiles
- Secondary Tiles
- Badges
- Tile Templates
- Scheduled Tiles
- Toasts
- Windows Notification Services
- Windows Azure Notification Hubs
Für Push Notification muss die Windows Store App mit dem Store assoziert werden, und in den Push Services die Secrets eingetragen.
Es gibt ja eine ganze Menge kostenlose Games für Kinder im Windows Store. Wirklich interessante sind aber dann doch zu bezahlen. Entweder nach einem Testlauf, oder auch mit In-App Payment wo die interessanten Features erst feigeschalten werden müssen. Dabei haben sich bei mir aber ein paar Fragen und Bedingungen gestellt die ich jetzt alle positiv klären konnte:
- Funktioniert das Einkaufen im Store mit eingeschaltetem Family Safety Mode?
- Ja, aber anders
- Kreditkarte möchte ich nicht im Store für die Kid-Accounts hinterlegen
- Muß nicht sein
- Muß ich eine App für jedes Kind kaufen?
- Nein
Alle diese Fragen werden hier geklärt. Das Verwenden vom Store mit Family Safety ist vielleicht nicht ganz intuitiv. Wenn man es richtig macht (da hatte ich etwas gebraucht) funktioniert es aber bestens.
Mit Family-Safety bekommt man bestenfalls Timeouts (oder nur ewiges Warten) wenn man versucht da Apps zu kaufen. Öffnen der notwendigen Websites ist mit Family-Safety nicht erlaubt. Ich habe auch nicht versucht diese Weblinks herauszufinden um sie bei Family Safety zu erlauben.
Der richtige Weg:
Parent Account
Zuerst mal einen Parent-Account anlegen und mit diesem in die PCs der Kinder einloggen. Ich habe dafür einen weiteren Account angelegt und verwende nicht meinen Hauptaccount – aufgrund dieser Eigenschaften:
- Ein Account kann nur auf 5 PCs Apps vom Store installieren – mit den PCs der Kinder wird dieses Limit überschritten
- In meinem Hauptaccount möchte ich nicht die ganzen Spiele unter meinen Apps finden. Im Store gibt es das Feature dass ich alle meine Apps mit wenig clicks installieren kann (z.B. auf einem neu installierten PC), da sollen die Spiele aber nicht dabei sein
Kaufen im Store vom Parent Account
Beim Parent Account habe ich auch kein Problem die Kreditkarte im Store zu hinterlegen. Jetzt kann ich Games direkt in diesem Account auf den Kids-PCs installieren. Auch In-App Payment mit Starten der App läuft über diesen Account.
Installieren der Apps im Kinder-Account
Der nächste Schritt ist es die App nochmal vom Kinder-Account zu installieren. Eine bezahlte App kann auf bis zu 5 PCs installiert werden, auch von anderen Accounts. Dieser extra Prozeß kann vereinfacht werden, die Apps sollen vielleicht auch für mehrere Kinder zur Verfügung gestellt werden.
Eingeloggt im Kids-Account ist es im Store möglich den Account zu wechseln: Charms Bar, Settings, Your Account. Eingeloggt im Kids-Account kann ich im Store zum Parent Account wechseln. Danach Auswahl von “Your Apps” in der App-bar, und die gekauften Apps können einfach gefunden und nochmal installiert werden.
Summary
Der einfachste Weg mit Family Safety bezahlte Apps für Kinder installieren: am besten einen eigenen Microsoft Account für die Kinder-Apps einrichten und die Apps über diesen Account vom Store beziehen. Im Kinder-Account den Account im Store auf den Parent umstellen, und die App dann nochmal installieren. Damit ist es möglich Apps auf bis zu 5 PCs zu installieren, d.h. bei bis zu 5 Kinder ist das kein Problem. Und dieses Windows-Limit habe ich nicht vor zu erreichen ![]()
Christian
