我是WP7编程的新手,但是有其他平台的XP,我只是运行所有的基础知识,所以我可以了解语言,但我遇到了障碍,我已经输入了我的背景图像的来源:
<Grid x:Name="LayoutRoot">
<Grid.Background>
<ImageBrush ImageSource="C:/users/hypernova/pictures/Background1.jpg">
</ImageBrush>
</Grid.Background>
</Grid>
图像显示为XAML旁边的设计选项卡中的背景,但是当我调试并且模拟器启动它只是黑屏没有背景图像时,我错过了什么?我尝试了其他设置背景的方法,如:
<Grid x:Name="LayoutRoot">
<Canvas>
<Canvas.Background>
<ImageBrush ImageSource="C:/users/hypernova/pictures/Background1.jpg">
</ImageBrush>
</Canvas.Background>
</Canvas>
</Grid>
但是同样的事情发生了我还尝试了其他一些方法,但是没有什么,我确定我错过了应该抓住的东西。
答案 0 :(得分:0)
路径
C:/users/hypernova/pictures/Background1.jpg
存在于您的开发计算机上,而不是任何Windows Phone 7+设备上。
请记住,用户将从商店下载您的应用,然后在手机上运行。他们怎么可能访问您的硬盘并获得该图像?
不幸的是,由于设计界面允许你这样做,它当然会让新开发者感到困惑。
您应该做的是将您的图片作为资源添加到项目中,然后引用资源via a pack
URI (除非点击该链接,否则你想吓唬自己傻瓜)。
要将其添加为资源,只需将图像添加到WP7项目的根目录,右键单击它,选择“属性”,然后将构建操作更改为“资源”(不是嵌入式资源,请注意)。
接下来,您必须为此资源构建pack
URI。这......并不容易。通过在设计器中编辑ImageBrush的属性,可以使用Visual Studio中的工具执行此操作。这是最简单的推荐路线。您所要做的就是在“属性”工具窗口中编辑ImageSource
的{{1}},然后从解决方案中的可用图像列表中选择图像。
另一种方法是手动构建ImageBrush
URI。例如,您可以采取以下
/ [项目组装名称];组件/ Background1.jpg
将pack
替换为程序集的名称(无扩展名),并将其用作[project assembly name]
值。通过查看项目属性的“应用程序”部分下的“程序集名称”,可以找到正确的项目程序集名称。
ImageSource
注意,取决于项目文件夹结构的构造方式,此URI可能不同。在所提供的工具之外构造正确的URI是一个值得另一个问题的任务。