получить абсолютный путь к файлу из изображения в WPF - PullRequest
3 голосов
/ 13 апреля 2010

У меня есть что-то вроде этого в моем xaml:

<Grid>
    <Image Name="image" Source="../../Images/DefaultImage.png" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"></Image>
</Grid>

Как я могу получить (используя мой код C # за кодом) абсолютный путь к источнику изображения?

Ответы [ 3 ]

5 голосов
/ 15 апреля 2010

При преобразовании из строки Uri или имени файла ImageConverter создает BitmapDecoder и извлекает свой первый кадр. Получение Uri должно быть возможно с:

((BitmapFrame)image.Source).Decoder.ToString()

Обратите внимание, что это обычно возвращает абсолютный Uri, а не исходный Uri, найденный в XAML. Если вам нужен точный исходный Uri из XAML, он находится в поле _uri в BitmapDecoder, но вам понадобятся отражения и повышенные разрешения кода, чтобы получить его, плюс ваш код может не работать в будущих версиях NET Framework.

4 голосов
/ 22 апреля 2014

Метод, который работает для меня каждый раз, это простая строка

(YourImage.Source as BitmapImage).UriSource

Кроме того, вы можете работать с AbsolutePath или AbsoluteUri UriSource, возвращенными в соответствии с вашими потребностями.

3 голосов
/ 13 апреля 2010

Вы можете попробовать это:

string path = ((BitmapImage)image.Source).UriSource.AbsolutePath;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...