我的xaml中有这样的东西:
<Grid>
<Image Name="image" Source="../../Images/DefaultImage.png" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"></Image>
</Grid>
Run Code Online (Sandbox Code Playgroud)
如何获得(使用我的代码隐藏C#代码)图像源的绝对路径?
从Uri字符串或文件名转换时,ImageConverter创建一个BitmapDecoder并提取其第一个Frame.获得Uri应该是可能的:
((BitmapFrame)image.Source).Decoder.ToString()
Run Code Online (Sandbox Code Playgroud)
请注意,这通常会返回绝对Uri而不是XAML中找到的原始Uri.如果您需要XAML中的确切原始Uri,它可以在BitmapDecoder的_uri字段中找到,但是您需要反射和提升的代码权限才能访问它,而且您的代码可能在以后的.NET Framework版本中不起作用.
每次对我有用的方法是这条简单的线
(YourImage.Source as BitmapImage).UriSource
Run Code Online (Sandbox Code Playgroud)
另外,您可以根据需要在返回的UriSource的AbsolutePath或AbsoluteUri上进行操作。
| 归档时间: |
|
| 查看次数: |
12421 次 |
| 最近记录: |