如何在辅助磁贴 WP 8.1 中间设置文本
How to set text in the middle of secondary tile WP 8.1
我正在尝试创建一个将在其中显示字符串的辅助磁贴。我正在为 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 中的背景图片。
使用图像创建自定义图块大致按照以下步骤完成:
1) 渲染图像。 WriteableBitmap
class 可以渲染 UIElement
你传给它的:
WriteableBitmap wb = new WriteableBitmap(300, 300);
wb.Render(myGrid);
wb.Invalidate();
因此您需要从 UI 元素(如容器 + 控件)构建磁贴。在您的情况下,例如 Grid
(最大宽度)并对齐 TextBlocks
2) 获得此图像后,将其另存为 PNG(以获得更好的质量)到文件夹
"isostore:/Shared/ShellContent/"
否则您的磁贴无法访问它。
3) 现在您需要做的就是创建 StandardTileData
并将 BackgroundImage 设置为您新创建的图像。
您也可以在调试时下载并使用IsoStoreSpy。它可以向您显示 phone 的内部存储空间。所以你可以看到图像是否以及如何被渲染。
我正在尝试创建一个将在其中显示字符串的辅助磁贴。我正在为 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 中的背景图片。
使用图像创建自定义图块大致按照以下步骤完成:
1) 渲染图像。 WriteableBitmap
class 可以渲染 UIElement
你传给它的:
WriteableBitmap wb = new WriteableBitmap(300, 300);
wb.Render(myGrid);
wb.Invalidate();
因此您需要从 UI 元素(如容器 + 控件)构建磁贴。在您的情况下,例如 Grid
(最大宽度)并对齐 TextBlocks
2) 获得此图像后,将其另存为 PNG(以获得更好的质量)到文件夹
"isostore:/Shared/ShellContent/"
否则您的磁贴无法访问它。
3) 现在您需要做的就是创建 StandardTileData
并将 BackgroundImage 设置为您新创建的图像。
您也可以在调试时下载并使用IsoStoreSpy。它可以向您显示 phone 的内部存储空间。所以你可以看到图像是否以及如何被渲染。