Показаны сообщения с ярлыком XAML. Показать все сообщения
Показаны сообщения с ярлыком XAML. Показать все сообщения

Обзор Visual Studio 2010 Beta 2

Сегодня утром я проснулся, зашел в приложение “Почта Windows Live” проверить свою электронную почту, и обнаружил клевое письмо!

image

Вышла наконец-то Beta 2! Это большое событие, после чего я сразу же поставил на закачку Visual Studio 2010 Beta 2 Ultimate. Среда Разработки поставляется в 3-х версиях: Professional, Premium и Ultimate.

Версия Ultimate конечно же самая полная и самая классная!

После того, как студия скачалась, я тут же поставил ее на установку.

image

Новое окно запуска(Splash Screen) в сине-фиолетовых тонах:

Безымянный

После установки, первое, что бросается в глаза – новый интерфейс, полностью переписанный на WPF:

image

Как вы можете легко заметить, все красиво раскидано по категориям, что удобно. Да и на глаз приятно.

ToDo: Надо как-нибудь нарисовать на досуге обложку для DVD для Visual Studio Beta 2

Нажимаю на кнопку, точнее на пункт меню слева – Новый проект…

image

Лично мне нравится обновленный дизайн! =)

Слева – дерево типов проектов, посередине – выбор типа из категории, справа – описание. Удобно.

Еще стоит отметить, что у нас есть .Net Framework 4 в качестве основной платформы приложения.

Для примера, я взял и создал приложение WPF на .Net 4:

image

Обновленный дизайн, карамельного цвета кнопки, подсветка.

Стоит заметить, что наблюдается падение производительности при работе со студией.

Но все это удобство того стоит.

Минимальные системные требования на мой взгляд:

2-хядерный процессор >1.5 ГГц Intel/AMD, 1 гигабайт оперативной памяти, желательно DDR3,              винчестер пошустрее - SATA/PATA.

И видеокарту не ниже GF 8 поколения.

Тулбокс:

image

Стоит отметить, что в MS VS 2010 Beta 2 теперь можно разрабатывать приложения Azure, SharePoint 2010, плагины для Office 2010.

На этом обзор новой студии я заканчиваю. Удобно, красиво, но пока еще тормозит. Стоит ли использовать .Net 4 сейчас? Ради интереса – можно. Стоит сказать, что основной платформой сейчас стала Windows 7, с предустановленным .Net Framework 3.5, поэтому есть смысл разрабатывать свое ПО именно под эту платформу, ведь не так много найдется энтузиастов, которым захотелось бы снова качать очередное обновление с сайта Майкрософт ради небольшой программы. А для коммерческих целей эта студия не подходит, т.к. еще находится под лицензией Бета и предназначена только для тестов.

Так что тестируем, смотрим, изучаем!

MS Expression Design & MS Expression Blend

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

image

Например, делать скиннинг для TextBox-a. Это просто, если знаешь как. Скин рисуется в Expression Design, затем экспортируется в Silverlight Canvas XAML. После чего импортируется MS Expression Blend-ом.

Далее мне пришлось немного помучаться, прежде чем я нашел способ как прикрутить стиль к моей кнопке.

Еще я нарисовал модель плеера, очень напоминающую iPod Touch:

Slice 1

И логотип Leopard-а:

OSX Logo

Нравится мне продукция Apple. Что поделаешь =)

Оконный интерфейс:

image

Менюшка c официального сайта Apple:

image

Также оформил картинку для словаря, в одной моей лабораторной по Информационной Безопасности:

InfoSec image

И напоследок, я решил нарисовать постер к ASOT 400, который уже прошел. Я очень ценю творчество Armin Van Buuren-а и надеюсь в будущем попасть на его сеты:

Armin ASOT 400 Logo

На этом все! MS Expression Design & Blend предоставляют все возможности для творчества, оформительских работ и всего, что относится к дизайну!

Flow Documents в WPF

Сегодня речь пойдет о FlowDocuments. Очень удобная и красивая штука.

Чтобы создать FlowDocument, создаем WPF-приложение. Я для этого использую Blend, т.к. мне в нем удобнее работать.

Стоит сразу отметить, что создавая контейнер FlowDocument, вы на форму уже не сможете расположить других контейнеров.

Итак, заходим в XAML:

Первом делом пишем:

<FlowDocument>

</FlowDocument>

Контейнер создан!

Теперь я пожалуй создам таблицу:

<FlowDocument>

<Table>

</Table>

</FlowDocument>

Напоминает, старый добрый HTML ;)

Затем в теге <Table> я добавляю описание для колонок:

<Table.Columns>
    <TableColumn />
    <TableColumn />
    <TableColumn />
    <TableColumn />
</Table.Columns>

А после них добавляю сами строки. Я возьму 2 строки для примера:

<TableRow>
    <TableCell>
        <Paragraph>
        Content
        </Paragraph>
    </TableCell>
    <TableCell>
        <Paragraph FontFamily="Verdana">
        Content
        </Paragraph>
    </TableCell>
    <TableCell>
        <Paragraph FontFamily="Times New Roman">
        Content
        </Paragraph>
    </TableCell>
    <TableCell>
        <Paragraph Background="Lime">
        Content
        </Paragraph>
    </TableCell>
</TableRow>
<TableRow>
    <TableCell>
        <Paragraph>
        Text
        </Paragraph>
    </TableCell>                   
    <TableCell>
        <Paragraph>
        Text
        </Paragraph>
    </TableCell>                   
    <TableCell>
        <Paragraph>
        Text
        </Paragraph>
    </TableCell>                   
    <TableCell>
        <Paragraph>
        Text
        </Paragraph>
    </TableCell>                   
</TableRow>

Вот и все. Можете запустить свое WPF-приложение и посмотреть в действии FlowDocuments. Если вы пишете новостное ПО, или ПО, где нужен вывод форматированного текста, чтобы его можно было удобно читать – используйте FlowDocuments.

Легкое форматирование, можно менять шрифты и цвет фона и текста. В общем, не контрол – а чудо!

В следующей статье я расскажу как создавать FlowDocuments из кода.

Введение в .Net

Итак начнем с терминологии.

.Net Framework – платформа для разработки приложений.

Одной из основных идей Microsoft .NET является совместимость различных служб, написанных на разных языках. Т.е. можно писать систему или программный продукт на разных языках программирования(Delphi for .Net, IronPython, C#, VB.Net, C++.Net) и потом собирать вместе так, что все это еще и работать будет :)

Silverlight – платформа для разработки мультимедийных Web-ориентированных приложений, или сайтов.

WPF – Windows Presentation Foundation – универсальная платформа для разработке графического интерфейса (Graphical User Interface)

XAML – Расширяемый язык разметки приложений. Используется как для создания оконных Windows приложений(WPF), также я для Web-ориентированных (Silverlight)

WCF – Windows Communication Foundation, по сути это платформа для создания сетевых распределенных приложений. Новая ступень в развитии Web-служб. Мы можем всю логику нашего клиентского приложения вынести в WCF-службу и без проблем цепляться к ней из WPF Windows приложения, либо Silverlight-сайта.

Как динамически загрузить картинку в Silverlight

В общем задача тривиальная и простая. Я раньше не знал как это делается. Мне помог один человек. Его блог: http://www.dev.net.ua/blogs/sergeylutay
Спасибо, тебе, Серега!
Он отозвался на мою просьбу о помощи, и помог разобраться с этой задачей. Бывает, что даже с простыми вещами разобраться порой очень трудно, особенно, если ты – новичок в этом. А оказывается очень просто. Приведенный ниже пример демонстрирует как можно программно, из кода добавлять в LayoutRoot дочерние элементы и обновлять интерфейс.
Image img = new Image();    
BitmapImage bimg = new BitmapImage(new Uri("http://www.wallpaperez.info/wallpaper/models/m/Adriana-Lima-wallpapers-796.jpg", UriKind.Absolute));
//если заранее не известен размер загружаемой картинки
bimg.ImageOpened += delegate(object sender, RoutedEventArgs e)
{
BitmapImage bitmapImg = sender as BitmapImage;
img.Height = bitmapImg.PixelHeight;
img.Width = bitmapImg.PixelWidth;
};
img.Source = bimg;
LayoutRoot.Children.Add(img);
Все очень просто. Создаем объект типа Image. Затем, создаем обект BitmapImage, и к нему привязываем картинку по URI. Далее указываем размеры изображения.
После чего объекту Image указываем в качестве источника наш BitmapImage-объект.
И, вуаля! Добавляем на нашу страницу в строке
LayoutRoot.Children.Add(img);
Подозреваю, что объекты можно засовывать в любые контейнеры. Надо будет покопаться ;)
Вот и все!