Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

Universal Windows Platform appのタイル

$
0
0

UWP appではタイルの自由度が上がっています。どれくらい上がってるかというと、以下のページにあるようにXML自由に書けるぜヒャッハーっていうくらいです。

Adaptive Tile Templates - Schema and Documentation - Tiles and Toasts - Site Home - MSDN Blogs

ただし、これを手で組み立てるのはたまったもんじゃないです…ということで、Windows Runtime向けにNotificationsExtensionsというライブラリが提供されていたように、UWPでもNotificationsExtensions.Win10というライブラリが提供されました!これで勝つる。

使い方はとても簡単です。上記ページにあるXMLをそのままオブジェクトに落とし込んだように書けます。

var bindingContent = new TileBindingContentAdaptive
{
    PeekImage = new TilePeekImage
    {
        Source = new TileImageSource("Assets/Square150x150Logo.png")
    },
    Children =
    {
        new TileText { Text = "Hello world", Style = TileTextStyle.Title },
        new TileText { Text = "okazuki", Style = TileTextStyle.Body },
    }
};

var tileBinding = new TileBinding
{
    Branding = TileBranding.NameAndLogo,
    Content = bindingContent,
    DisplayName = "Hello display name",
};

var content = new TileContent
{
    Visual = new TileVisual
    {
        TileSmall = tileBinding,
        TileMedium = tileBinding,
        TileLarge = tileBinding,
        TileWide = tileBinding,
    }
};

var n = new TileNotification(content.GetXml());
TileUpdateManager.CreateTileUpdaterForApplication()
    .Update(n);
var bindingContent = new TileBindingContentAdaptive
{
    PeekImage = new TilePeekImage
    {
        Source = new TileImageSource("Assets/Square150x150Logo.png")
    },
    Children =
    {
        new TileText { Text = "Hello world", Style = TileTextStyle.Title },
        new TileText { Text = "okazuki", Style = TileTextStyle.Body },
    }
};

var tileBinding = new TileBinding
{
    Branding = TileBranding.NameAndLogo,
    Content = bindingContent,
    DisplayName = "Hello display name",
};

var content = new TileContent
{
    Visual = new TileVisual
    {
        TileSmall = tileBinding,
        TileMedium = tileBinding,
        TileLarge = tileBinding,
        TileWide = tileBinding,
    }
};

var n = new TileNotification(content.GetXml());
TileUpdateManager.CreateTileUpdaterForApplication()
    .Update(n);

これで、タイルが出来ます。簡単ですね。

ソース

一応ソース置いときます。

runceel/UWPTileNotificationgithub.com


Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>