询问者
第一次进入应用加载背景图片闪烁一下,怎么解决

问题
全部回复
-
根目录的Grid
<Grid >
<Grid.Background>
<ImageBrush ImageSource="ms-appx:///Assets/Test/bg.jpg" Stretch="UniformToFill"/>
</Grid.Background>如果设置成Content是可以出来,我现在的问题是,设置成Content时第一次进入应用背景加载会有延迟,会先出现黑色背景,然后才加载背景图片,导致闪烁一下
我猜测和BuildAction有关,所以就设置成了Resource,但在xaml中引用却不能输出,求正确的书写方式。
”复制到输出目录“这个属性设置成如果较新则复制,不知是否有影响。
-
ms-appx:///引用的是BuildAction为Content的内容,不要设置BuildAction为 Resource.
如果是嵌入资源,就需要用代码去读取了,例如下面:
var s = Assembly.Load(new AssemblyName("your project")).GetManifestResourceStream(@"xxx.jpg"); StreamReader sr = new StreamReader(ts); ...
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
-
我自己的应用用了SpalshScreen 延时,然后在App.xaml中放了一个
<ImageBrush x:Name="appBackground" ImageSource="ms-appx:///appbg.jpg" Stretch="UniformToFill"/>
在主页面 reference:
<Grid Style="{StaticResource LayoutRootStyle}" Background="{StaticResource appBackground}">
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
-
延时并不是处理这个图片加载的,而是处理一些大数据量的准备的 ,文档这里: http://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/Hh868191(v=win.10).aspx
例子:http://code.msdn.microsoft.com/windowsapps/Splash-screen-sample-89c1dc78/
我的例子:https://skydrive.live.com/#cid=51B2FDD068799D15&id=51B2FDD068799D15%211108
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已建议为答案 Jie BaoModerator 2012年11月5日 6:16
-
200kb 且是本地图片,不会有个明显加载过程,应该是很快的。
不过,你要避免性能上的 问题造成明显的加载过程,你只有预先加载了。比如在SplashScreen 先显示此图片,然后再与页面中显示则加载可以更快 (使用了缓存)。
Bob Bao [MSFT]
MSDN Community Support | Feedback to us