C# 无法获取Uri的文件路径
在我的WPF中,每当用户单击右键时,我希望屏幕上的图像发生变化。问题是,我始终收到相同的错误消息: '无效URI:无法确定URI的格式。' 代码如下:C# 无法获取Uri的文件路径,c#,wpf,list,uri,C#,Wpf,List,Uri,在我的WPF中,每当用户单击右键时,我希望屏幕上的图像发生变化。问题是,我始终收到相同的错误消息: '无效URI:无法确定URI的格式。' 代码如下: string pic1 = @"C:/Users/Milk/Desktop/exercises/wpf_1/portraits/1.png"; string pic2 = @"C:/Users/Milk/Desktop/exercises/wpf_1/portraits/2.png"; private void buttonRight_Clic
string pic1 = @"C:/Users/Milk/Desktop/exercises/wpf_1/portraits/1.png";
string pic2 = @"C:/Users/Milk/Desktop/exercises/wpf_1/portraits/2.png";
private void buttonRight_Click(object sender, RoutedEventArgs e)
{
List<string> portraits = new List<string>();
portraits.Add(pic1);
portraits.Add(pic2);
string ShowPicture = portraits[counter % portraits.Count];
image.Source = new BitmapImage(new Uri(portraits.ToString()));
counter++;
}
它工作得很好,但是一旦它在列表中,它就找不到文件路径——至少对我来说是这样的
知道如何修复此问题以及我在哪里出错吗?您好,您正在将其链接到列表对象,而不是列表中的元素 这将解决您的问题:
image.Source = new BitmapImage(new Uri(portraits[0].ToString()));
那将得到图片1
如果你想拍照片的话
你需要写:
image.Source = new BitmapImage(new Uri(portraits[1].ToString()));
如果你想得到这两个图片,你需要添加一个循环
比如:
for (int i=0 ; i < portraits.count ; i++)
image.Source = new BitmapImage(new Uri(portraits[i].ToString()));
//..Do the rest
for(int i=0;i
肖像,让我确切地知道您的预期结果,我将添加更多详细信息,因为
.ToString()
通常返回对象的名称空间(除非重写),在本例中,该名称空间是List的名称空间;您需要将实际列表值逐个传递到Uri
构造函数中
您需要做的是按实际路径传递:
string ShowPicture = portraits[counter % portraits.Count];
image.Source = new BitmapImage(new Uri(ShowPicture));
ShowPicture没有他想要显示的图片的路径,但您的答案是正确的,他正在将其保存到对象列表中,正如您所说,使用toString()将返回类似于A929D9933929919-->对象引用的内容
string ShowPicture = portraits[counter % portraits.Count];
image.Source = new BitmapImage(new Uri(ShowPicture));