-1

我想显示来自磁盘的图像!

private void Button_Click_3(object sender, RoutedEventArgs e)
{
    myImage.Source = new BitmapImage(
        new Uri("images\\Countries\\dz.png",UriKind.Relative));
}

我确定文件名是正确的,但是当我按下按钮时,图像没有出现,我还确保图像位于所有其他控件的前面,这myImage就是它的名称。

4

4 回答 4

1

尝试这个:

private void Button_Click_3(object sender, RoutedEventArgs e)
{
    try
    {
        myImage.Source = new BitmapImage(
        new Uri(@"images\Countries\dz.png",UriKind.Relative));
    }

    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
  1. 把 @ 使它成为一个文字字符串(然后你不需要提供转义序列)

  2. 如果上述方法也不起作用,那么如果发生任何异常,它将显示异常。

于 2013-05-01T18:03:27.353 回答
0
BitmapImage bitImg = new BitmapImage();
bitImg.BeginInit();
bitImg.UriSource = new Uri("images\\Countries\\dz.png", UriKind.Relative);
bitImg.EndInit();

myImage.Source = bitImg;
于 2013-05-01T19:23:28.647 回答
0

尝试调试它。在行(F9)上放一个断点,然后按 F5 开始调试。检查myImage.Source行执行后的值(F10 到步)。您还可以在调试暂停时使用即时窗口测试其他语句并查看结果。

还要确保 images 文件夹与可执行文件位于同一文件夹中(在 Debug 或 Release 文件夹中,根据您的构建)

于 2013-05-01T19:18:40.577 回答
0

一些可能对您有帮助的事情:

代替:

myImage.Source = new BitmapImage(new Uri("images\\Countries\\dz.png",UriKind.Relative));

尝试这个:

BitmapImage ImageName = new BitmapImage;
ImageName.BeginInit();
ImageName.UriSource = new Uri(@"images\Countries\dz.png",UriKind.Relative);
ImageName.EndInit();
myImage.Source = ImageName;

有关更多信息,请参见下面的链接(页面底部的示例部分)。

http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.bitmapimage.aspx

如果上述方法不起作用,我们将需要您发布更多代码:)。此外,如果您在此处准确指定您想要实现的目标,这将有所帮助。

于 2013-05-01T19:24:43.180 回答