我想做一个天气预报应用,动态生成天气磁贴的背景图片,
我先建了一个用户控件(FlipCycleTileMediumControl ),该控件代表一个磁贴,
然后用以下代码:
var tileControl = new FlipCycleTileMediumControl();
var writeableBitmap = new System.Windows.Media.Imaging.WriteableBitmap(336, 336);
writeableBitmap.Render(tileControl, null);
writeableBitmap.Invalidate();
创建了一个writeableBitmap, 将它保存到独立存储的Shared/ShellContent/FlipCycleTileMedium.jpg路径下,
奇怪的是,生成的图片背景是黑的,里面的文字也拉长了,完全不是我在blend中设计的用户控件的样子,
用户控件代码如下:
<UserControl x:Class="TileWeather.FlipCycleTileMediumControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
Height="336" Width="336">
<Grid x:Name="LayoutRoot" Background="#FF388D1F">
<TextBlock HorizontalAlignment="Left" TextWrapping="Wrap" Text="你好" VerticalAlignment="Top" FontSize="{StaticResource PhoneFontSizeExtraExtraLarge}"/>
</Grid></UserControl>
问题:
1.我这样做法不对嘛?应该怎么做?
2.问什么 writeableBitmap.Render(tileControl, null)生成的图片跟原控件差别很大?如何避免??