четверг, 7 февраля 2013 г.

динамическое добавление картинок в listbox на wpf

<Grid Background="#252525">

<XmlDataProvider x:Key="DataDS" Source="gallery.xml" ></XmlDataProvider>

Title="3D Gallery" Height="800" Width="1200" WindowStartupLocation="CenterScreen">

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

</Gallery>Как видите в тэге Source задается путь к картинке, в Description ее описание, в тэге Rotation - угол, на который будем поворачивать картинку. Конечно, в реальном приложении подобная коллекция будет получаться скорее всего динамически, например из б/д или из коллекции изображений, хранящихся на компьютере пользователя, но здесь я ограничился простым XML-файлом, созданным для демонстрации.6) Теперь добавим новый источник данных XmlDataProvider для этой коллекции в файле главного окна (MainWindow.xaml) в ресурсах Window, чтобы затем использовать его в качестве контекста данных для ListBox. Разметка главного окна на данном этапе должна выглядеть примерно следующим образом:<Window x:Class="_3D_Gallery.MainWindow"

<Rotation>-30</Rotation>

<Description>Auto 2</Description>

<Source>Images/img2.jpg</Source>

<Rotation>-40</Rotation>

<Description>Auto 1</Description>

<Source>Images/img1.jpg</Source>

</Application.Resources>(если вы используете Visual Studio 11, то этот код добавиться автоматически при создании словаря).4) Добавим теперь в проект несколько изображений (Project --> Add Existing Item). Для изображений я обычно использую папку Images, но вы можете добавить их в произвольное место в проекте.5) Добавим XML-файл для перелинковки изображений в приложении (я назвал его gallery.xml). Структура этого файла выглядит так:<?xml version="1.0" encoding="utf-8" ?>

</ResourceDictionary.MergedDictionaries>

<ResourceDictionary Source="ListBoxGalleryTemplate.xaml"></ResourceDictionary>

<ResourceDictionary.MergedDictionaries>

В данном небольшом посте я бы хотел описать мощь использования шаблонов в WPF на примере создания интерактивной галереи изображений: Итак в качестве каркаса для данной галереи будет использоваться элемент ListBox, шаблон которого мы и будем изменять. Но для начала давайте выполним следующие простые шаги, необходимые для работоспособности данного примера:1) Создайте новый проект WPF в среде Visual Studio и присвойте ему имя, допустим, 3D Gallery.2) Добавьте в проект новый словарь ресурсов (Project --> Add New Item --> Resource Dictionary) и присвойте ему имя, допустим, ListBoxGalleryTemplate.xaml.3) Далее необходимо добавить ссылку на этот словарь в проект. Для этого откройте файл App.xaml и добавьте следующий код:<Application.Resources>

Добавлено 5 месяцев(а) Alexandr_Erohin

3D галерея используя шаблоны WPF

3D галерея используя шаблоны WPF - Форум программистов .NET

Комментариев нет:

Отправить комментарий