2013-03-19 3 views
0

Я хочу включить изображение в свой проект из-за-кода, чтобы разрешить мне установить изображение как заполнить мой прямоугольник! Я вставив изображение таким образом:Включить изображение в проект

<Rectangle Grid.Column="2" Grid.Row="2" Margin="4,4,4,4" Style="{DynamicResource rectangle_style}" > 
    <Rectangle.Fill> 
     <ImageBrush ImageSource="image.jpg" Stretch="UniformToFill"/> 
    </Rectangle.Fill> 
</Rectangle> 

Для создания этого фонового изображения я должен включать файл изображения в проекте с правой кнопкой мыши на файл и установить «включить в проекте». Можете ли вы помочь мне включить изображение из-за кода во время выполнения, потому что мне будет необходимо установить изображение из большинства файлов в папку!

ответ

0

Один из способов - «Включить в проект» или «Добавить существующий элемент», а в разделе «Свойства» установите «Копировать локальную» в «Всегда».

Примечание В этом случае, вам нужно получить путь к папке приложения

<ImageBrush ImageSource="c:\[YourPath]\[YourProject]\someImg.png" Stretch="UniformToFill" /> 

Или привязать к способу, который обеспечивает текущий путь приложения для вас. (Проделайте поиск по этому вопросу, так как на SO есть много таких вопросов).

Это означает, что при развертывании приложения вам необходимо развернуть изображение (оно будет в папке bin с любой структурой пути, которую вы ему даете).

Другой способ - сделать то же самое, и установить Build Action на Resource - это сделает ваше приложение скомпилированным с изображением внутри DLL. Недостатком является то, что DLL будет больше, но вам не придется забывать копировать файл при развертывании.

получить доступ к resource по имени (без переднего слэша)

<ImageBrush ImageSource="someImg.png" Stretch="UniformToFill" /> 

Надеется, что это помогает!

Смежные вопросы