【发布时间】:2017-06-15 03:13:12
【问题描述】:
希望我能就我遇到的问题获得一些意见。首先,我将解释我确实尝试了其他与我所遇到的问题相似的问题答案的建议,但没有任何运气。
目标是获取一个字符串并将其转换为我的 XAML 代码中图像元素的路径。类似于如何在代码隐藏文件中调整文本块的“文本”属性,
courseFaculty.Text = BL_PageContent.FacultyMember;
FacultyMember 是关联的 BL_PageContent.cs 文件中的一个属性,我想做同样的事情,但为图像的路径提供一个字符串。
这是我的图片的 XAML,如果您愿意,它会呈现一个空白的“占位符”:
<Image x:Name="courseFacultyPic" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="246,127,10,0" Height="117" Width="104"></Image>
更多地“手动”测试这个,我已将源路径作为 Source 属性输入并取得了成功:
<Image x:Name="courseFacultyPic" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="246,127,10,0" Height="117" Width="104" Source="facultyProf1.jpg"></Image>
使用向我建议的东西应该将我想要的图像渲染到这个“占位符”中:
string facultyPicPath = "collegeProf1.jpeg";
Uri imageUri = new Uri(facultyPicPath);
BitmapImage facultyImage = new BitmapImage(imageUri);
Image courseFacultyPic = new Image();
courseFacultyPic.Source = facultyImage;
上面的这个代码块会从用户点击一个 UI 控件开始。但是,当我尝试它时,我得到一个关于我实例化 Uri 类的行的运行时异常。运行时异常如下:
“System.UriFormatException”类型的异常发生在 System.Private.Uri.dll 但未在用户代码中处理 附加信息:无效的 URI:无法使用 URI 的格式 确定。
欢迎提出任何想法/建议/意见。这是我的第一篇文章,也是我第一次在我的应用程序中处理图像的经验,并且是自学的,所以请考虑到这一点。非常感谢!
【问题讨论】:
-
您是否尝试过使用 Uri 构造函数重载
Uri(string, UriKind)并将其设置为UriKind.Relative? -
这次我尝试了一个不同的运行时异常,它与我的 Uri 实例下方的 BitmapImage 实例有关: > mscorlib.ni 中发生了“System.ArgumentException”类型的异常。 dll 但未在用户代码中处理 > 附加信息:给定的 System.Uri 无法转换 > 为 Windows.Foundation.Uri。
标签: c# xaml windows-runtime windows-store-apps