Nekonzistentní chování Resources v ItemTemplate pro Anniversary Update

Zdá se, že Windows 10 Anniversary Update obsahuje skrytou chybu ve zpracování Resources unvitř ItemTemplate pro položky seznamů. Narazil jsem na ni při práci na UWP aplikaci a popíšu problém samotný spolu s řešením, kterým můžete zajistit, že se vaše aplikace bude chovat správně na všech verzích Windows 10. Pokračovat ve čtení “Nekonzistentní chování Resources v ItemTemplate pro Anniversary Update”

Resource behavior inconsistency for ItemTemplates of list controls in Anniversary Update

It appears that the Anniversary Update has a hidden buggy behavior concerning Resources in ItemTemplates of list controls. I have hit this problem while working on an UWP app and I will describe the problem along with a workaround, which you can use to make sure your app will behave correctly on all versions of Windows 10. Pokračovat ve čtení “Resource behavior inconsistency for ItemTemplates of list controls in Anniversary Update”

Device family state trigger pro UWP

Univerzální platforma Windows funguje na mnoha různých typech zařízení (device family). Aby aplikace vypadala skvěle na různých zařízeních, většinou lze použít AdaptiveTrigger, který reaguje na různá rozlišení displeje. Pokud však potřebujeme cílit na konkrétní rodinu zařízení, je možné si pro tento účel vytvořit vlastní state trigger. Pokračovat ve čtení “Device family state trigger pro UWP”

Zpětná vazba k UWP aplikacím přes Feedback Hub

Feedback Hub ve Windows 10 umožňuje uživatelům otevřeně a efektivně sdílet své nápady na vylepšení a reportovat chyby. Nyní Microsoft přidává podporu zasílání zpětné vezby i pro aplikace třetí strany.

Jak můžete uživatele rychle odkázat do Feedback Hubu přímo z vaší aplikace? Je to snadné! Stačí použít nové SDK – s trochu krkolomným názvem – Microsoft Store Engagement and Monetization SDK.

Integrace Store Engagement SDK

Microsoft Store Engagement and Monetization SDK je nové rozšíření Visual Studia, které zahrnuje pod jednou střechou obě, předtím oddělená, Microsoft Advertising SDK (Advertising SDK a Advertising Universal SDK) a také nové Microsoft Store Engagement SDK:

Pro nainstalování rozšíření do Visual Studia, klepněte na menu Tools a vyberte Extensions and Updates. V levém panelu otevřeného dialogu vyberte sekci Online a do vyhledávacího pole zadejte název SDK (nebo jeho část). Výsledky vyhledávání by vám měly nabídnout instalaci rozšíření pomocí tlačítka.

MSAM SDK

Nyní máme potřebnou prerekvizitu a můžeme přidat Store Engagement SDK přímo do našeho UWP projektu.

Přidání SDK do projektu

Otevřete své řešení a klepněte pravým tlačítkem myši na položku References pod vaším UWP projektem v Solution Exploreru. Zde vyberte Add Reference. Otevře se Reference Manager. Označte sekci Universal Windows > Extensions a v seznamu uprostřed najdete mezi nainstalovanými rozšířeními Microsoft Store Engagement SDK. Zahrňte jej do projektu zaškrtnutím políčka nalevo.

Adding the Store Engagement SDK reference

Nyní jsme připraveni získávat zpětnou vazbu! Kód pro otevření Feedback Hubu je velmi jednoduchý a přímočarý:

Tento řádek kódu spustí odpovídající URI registrovanou pro Feedback Hub s hlubokým odkazem na sekci týkající se vaší aplikace. Pozor – odkaz na Feedback Hub bude fungovat až aplikaci publikujete na Windows Store (protože až poté je ID aplikace validní).

Upozornění

Protože tato funkčnost úplně nová, nefunguje vždy dle očekávání (či dokonce vůbec – například na aktuálním Windows Mobile preview buildu). Vždy doporučuji poskytnout uživatelům ještě alternativní způsob pro zaslání zpětné vazby, například přes e-mail. Tím zajistíte, že nikdy nepřijdete o důležité informace, které vám chtějí uživatelé o vaší aplikaci poskytnout.

Getting feedback from users in UWP apps via Feedback Hub

Feedback Hub in Windows 10 allows users to openly and effectively share their ideas and report issues. Now Microsoft is adding third party apps into the Feedback Hub and developers can hence receive feedback from users directly.

How can you give the users a quick link to the Feedback Hub for your app? It’s simple! Use the new, rather mouthful, Microsoft Store Engagement and Monetization SDK.

Integrating the Store Engagement SDK

Microsoft Store Engagement and Monetization SDK is a new Visual Studio extension that encompasses both, previously separate, Microsoft Advertising SDKs (Advertising SDK and Advertising Universal SDK) and a new Store Engagement SDK.

To install the SDK in Visual Studio, navigate to Tools menu and select Extensions and Updates. In the left pane of the opened dialog select Online section and then enter the name of the SDK in the search box in the upper right corner of the window. The search should offer you the SDK with an Install button. The installation might require you to restart Visual Studio afterwards.

MSAM SDK

Now you have the prerequisite ready and you can add the Store Engagement SDK to your UWP project.

Open your solution and right click the References item under your UWP project node in Solution Explorer. The select Add Reference in the menu. The Reference Manager will open. Select Universal Windows > Extensions section and you will see the Microsoft Store Engagement SDK in the list of installed extensions. Check the checkbox on the left to include the SDK in your app.

Adding the Store Engagement SDK reference

Now we are ready to get feedback! The code to open the Feedback Hub is extremely simple and straightforward:

This line of code will launch the appropriate URI registered with Feedback Hub with deep link to the section related to your app. Please note, that this actually works only after you publish the app in the Windows Store (as only then the app ID is valid).

Word of caution

Because this functionality is very new, it does not always work as expected (or not at all – for example on the current Windows Mobile preview build) I always recommend providing a secondary way for users to send feedback – such as via e-mail. This will ensure that you will not miss out on important information you need to improve your apps and will keep all users happy.

Barva motivu v ikonách na taskbaru Windows 10

Poslední buildy Technical Preview Windows 10 (konkrétně z veřejných 10547 a výše) získaly velmi zajímavou novinku u ikon systémových WinRT aplikací jako jsou Store, Outlook Mail, Outlook Kalendář a Fotky. Když se na ikony těchto aplikací v taskbaru podíváte blíže, zjistíte, že některé jejich části jsou vyplněny systémovou barvou motivu.

ColorizedColorizedBlue

Zajímalo mě, jak tohoto bylo dosaženo. Průhledná barva se používá na vytvoření “průhledných” částí ikony, ale jak se specifikují části pro nahrazení barvou motivu? Předpokládal jsem, že půjde o nějakou speciální “výchozí” barvu. A ukázalo se, že to byl předpoklad správný! PhotosAppIcon

Když se podíváte na obrázkové podklady aplikace Fotky, můžete si všimnout překvapivě velkého množství různých ikon typu “AppList” nebo “Square 44×44 Logo”, jak to je označováno ve Visual Studiu. Normální ikony pro odpovídající škálování zde najdeme po boku dalších se suffixem “.targetsize-{size}”. Tyto jsou nabízeny ve Visual Studiu pouze pro čtyři různé velikosti – 256, 48, 24 a 16 pixelů. Zřejmě je však možné poskytnout systému i další velikosti pro ještě granulárnější škálování – 100, 96, 80, 64, 40, 32 or 20 pixelů.

Ale zde to začíná být zajímavé! Mezi ikonami najdeme i další suffixy:

  • contrast-black_targetsize-{size} – bílá a transparentní ikona (pro režim vysokého kontrastu pro usnadnění přístupu)
  • contrast-white_targetsize-{size} – černá a transparentní ikona (pro režim vysokého kontrastu pro usnadnění přístupu)
  • targetsize-{size}_altform-colorize – ikona aplikace obarvená barvou motivu – to je ta, kterou jsme hledali!
  • targetsize-{size}_altform-unplated_contrast-white – ikona aplikace na taskbar s průhledností (pro režim vysokého kontrastu pro usnadnění přístupu)
  • targetsize-{size}_altform-unplated – ikona aplikace na taskbar s průhledností
  • targetsize-{size}_altform-fullcolor – ikony, které se používají pro souborové asociace v průzkumníku souborů – plnobarevné

To je velký počet nedokumentováných typů ikon 🙂 ! Ta která je pro nás ale nejzajímavější je targetsize-{size}_altform-colorize. Obrázky s touto koncovkou v názvu se skládají z průhledné barvy (která je potom na taskbaru – překvapivě – průhledná), z jakýchkoliv dalších barev (obvykle však bílé) a nakonec černé barvy, která je systémem nahrazena barvou motivu systému!

Přestože oficiální zdroje a dokumentace o těchto typech aplikačních ikon zatím nemluví, již nyní mouhou vývojáři tyto speciální typy ikon využívat ve svých aplikacích. Jediné, co pro to musíte udělat, je zahrnout další obrázky s odpovídajícím pojmenováním po bok ostatních ikon aplikace v balíčku a systém se již sám správně rozhodne, který z nich použít. Toto otevírá další prostor pro kreativitu vývojářů, aby jejich aplikace vypadaly na Windows 10 ještě živěji.

Ukázkový projekt

Zde si můžete stáhnout ukázkový projekt. Jde vlastně o úplně základní Windows 10 aplikaci vytvořenou pomocí prázdné šablony s pouze jedním obrázkovým souborem ve složce Assets navíc – Square44x44Logo.targetsize-64_altform-colorize.png. V tomto jediném souboru tkví celé kouzlo! Jakmile aplikaci spustíte, uvidíte na hlavním panelu vašeho systému velmi pěknou ikonu s barvou systémového motivu. Pokud si systémovou barvu změníte, ikona se změní také 🙂 .

Square44x44Logo.targetsize-64_altform-colorize

Průvodce Windows 10 pro vývojáře

Nyní je ta nejlepší chvíle naučit se vývoj aplikací pro Windows 10!

Microsoft vydal aktualizovanou verzi svého průvodce Univerzální Windows Platformou pro vývojáře (v angličtině) na Microsoft Virtual Academy. S pány Andym Wigleym a Shenem Chauhanem se v tomto tutoriálu podíváte na vše, co je nové ve vývojářském světě Windows 10 a uvidíte vývojářské nástroje pro “RTM” verzi Windows 10 (uvozovky proto, že koncept “RTM” ve světě Windows as a Service neexistuje a build 10240, kterého se videa týkají je pouze první vydání Windows 10 pro širokou veřejnost).

Průvodce pokrývá vše od základů platformy samotné, přes ovladací prvky XAML, adaptivní návrh a kód až po detaily a pokročilé techniky jako je koncept “Aplikačních služeb”.

Tak hurá do toho a naučte vyvíjet aplikace pro Windows 10!