@iRumba

Как достать картинку из ресурсов?

Здравствуйте. Делаю кнопочку с иконкой. В property.resources поместил картинку png и хочу отобразить ее на кнопке.
Вот код кнопки
<Button Name="saveButton" Style="{StaticResource dialogButtonControl}" Click="saveButton_Click">
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="auto"/>
                        </Grid.ColumnDefinitions>
                        <TextBlock Text="Сохранить" Style="{StaticResource imagedButtonTextBlock}" Grid.Column="1"/>
                        <Image Grid.Column="0">
                            <Image.Source>
                                <BitmapImage UriSource="/ConfigWPF;component/Resources/saveButton.Image.png"/>
                            </Image.Source>
                        </Image>
                    </Grid>
                </Button>


Проект называется ConfigWPF

В дизайнере картинки отображаются, но при запуске проекта в отладке или релизе, кнопки без картинок. В исходниках так же появилась папка Resources, где находятся нужные мне картинки. Пробовал скопировать эту папку в папку с готовым приложением, не помогло.

Мне бы хотелось видеть на кнопочках картинки, по возможности они должны быть зашиты в скомпилированные файлы, а не болтаться в отдельной папке. Доставать иконки из ресурсов требуется в XAML, а не в C# коде. Подскажите, как это осуществить? То что у меня в коде, я нашел где-то на просторах интернетов. Другие варианты не работали совсем.
  • Вопрос задан
  • 2223 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Sumor
Попробуйте указать полный путь к ресурсам в виде Uri типа pack.
Иногда, когда картинки располагаются не в сборке, которая запускается, приложение не может отыскать их в ресурсах.
Полный путь будет выглядеть примерно так:
pack://application:,,,/ConfigWPF;component/saveButton.Image.png

component - часть пути, указывает на ресурсы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы