我正在尝试创建一个将在其中显示字符串的辅助磁贴。我正在为windows phone 8.1构建应用程序。我有瓷砖的以下代码,但我想在应用程序的中心文本:
SecondaryTile("TestTile",
numDays + " days",
tileActivationArguments,
blankPic,
TileSize.Square150x150);
有没有办法完成此操作或从要显示的文本构建图像?
解决方案: XAML
<Grid x:Name="TextGrid" Width="150" Height="150" Background="Red">
<TextBlock x:Name="numDay" FontSize="36" />
</Grid>
C#
NumDay.Text = numDays + " days"
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(TextGrid);
我使用此代码创建我的图像,然后在SecondaryTile中将其设置为背景图片。
答案 0 :(得分:0)
通过以下步骤创建带图像的自定义图块:
1)渲染图像。 WriteableBitmap
类可以将UIElement
传递给它:
WriteableBitmap wb = new WriteableBitmap(300, 300);
wb.Render(myGrid);
wb.Invalidate();
因此,您需要从容器+控件等UI元素构建切片。在您的情况下,例如Grid
(具有最大宽度)和对齐TextBlocks
2)获得此图像后,将其另存为PNG(质量更好)到文件夹
&#34; isostore:/共享/ ShellContent /&#34;
否则你的瓷砖无法访问它。
3)现在您需要做的就是创建StandardTileData
并将BackgroundImage设置为新创建的图像。
您还可以在调试时下载并使用 IsoStoreSpy 。它可以显示您手机的内部存储空间。因此,您可以查看图像是否以及如何呈现。