【发布时间】:2014-05-26 06:58:04
【问题描述】:
好的,我不知道是什么导致了我的应用程序崩溃,我根本不明白发生了什么。我将很快解释我的应用程序可以做什么以及我的问题是什么。 此外,我在这里几乎没有阅读任何关于此的主题,并且正在通过不同的谷歌网站点击我的方式。 我没有找到解决方案,所以我不得不问!
我将图像设置为背景 -> 工作正常。
我有一个 TextBlock,它每 15 秒显示一次不同的文本,由计时器控制,每个文本都保存在一个列表中! -> 工作正常。
我对该文本进行了淡入/淡出 -> 工作正常。
我在底部有一个应用程序栏 -> 工作正常。
用这种平静的代码链接一张明确的图片 -> 工作正常。
private void Appearance_Click(object sender, EventArgs e)
{
Hintergrund.Source = new BitmapImage(new Uri("/Pictures/StarsNight19.jpg", UriKind.Relative));
}
嗯,我有大约 20 个不同的图像,它们的名称几乎相同,保存在我项目的一个文件夹中。路径如代码片段所示:/Pictures/StarsNightXX.jpg
Build Action 设置为:CONTENT(基本上都试过了..)
复制到输出目录设置为:始终复制。
现在这是我的问题。
我将图像的名称保存在列表中。
.....
pictures.Add("StarsNight4.jpg");
pictures.Add("StarsNight5.jpg");
pictures.Add("StarsNight6.jpg");
....
我使用与以前相同的操作,希望它在单击我的应用程序栏中漂亮的小按钮时更改图像:
private void Appearance_Click(object sender, EventArgs e)
{
Random rnd = new Random();
int next = rnd.Next(0, pictures.Count - 1);
background.Source = new BitmapImage(new Uri("/Pictures/"+pictures.ElementAt(next), UriKind.RelativeOrAbsolute));
}
BOOM 应用程序崩溃
我就是不知道问题出在哪里。
通过写一个如开头所示的显式名称来更改它效果很好......
也许有人可以告诉我列表是否导致问题? 我就是想不通。
“循环”也不行:
int i = 0;
private void Appearance_Click(object sender, EventArgs e)
{
if (i >= pictures.Count) i = 0;
background.Source = new BitmapImage(new Uri("/Pictures/" + pictures.ElementAt(i), UriKind.RelativeOrAbsolute));
i++;
}
因为我直接在我的 WP 上测试我的应用程序,所以我不知道我得到了什么样的异常。 没有办法在我的电脑上编译和测试它只是为了让你知道。
... 在这里,我失去了理智。
【问题讨论】:
-
将调试目标设置为设备?当它在您的手机上部署应用程序时,它将附加调试器,您将获得有关异常的完整信息。
-
+1 @Sopuli 即使将应用程序部署到设备上,您也可以对其进行调试。另外,将pictures.ElementAt(next) 更改为pictures[next] 怎么样?
-
我希望调试器能够正常工作。 IpOverUsbEnum 在启动后直接关闭。 @Eray Shashko 使用图片[next] 也不起作用,仍然崩溃。那么下一步:尝试启动调试器。我不知道这是可能的。我希望这能把事情弄清楚。谢谢:)
-
我建议在加载新图像之前处理掉图像。
-
@Rynoh07 也不行。好吧,现在我最终使用了不错的小 switch 语句。对于我想通过单击那个粘性按钮来更改的少量图像,效果很好。非常感谢您的帮助,不胜感激!
标签: c# xaml windows-phone-8 bitmapimage crash