Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 22.02.2009, 14:08   #1
OrdJONY
.NET-чик
Участник клуба
 
Аватар для OrdJONY
 
Регистрация: 24.03.2007
Адрес: Днепропетровск
Сообщений: 569
Репутация: 246

icq: 6-277-073
skype: ordjoni
По умолчанию Ввод в WPF

Я хочу рассказать вам о такой технологии как Windows Presentation Foundation (WPF), первая версия которой появилась в .NET FW 3.0. Эта технология позволяет разделить создание интерфейса для приложения между разработчиком и дизайнером. Теперь для того чтобы сделать привлекательный интерфейс программист вовсе и не нужен. В то время как дизайнер создает богатейший анимацией, и каким ни будь эффектами, программист занят только бизнес логикой. Ранее мы использовали WinForms который жестко связан с особенностями Windows. WinForms основывается на интерфейсе Windows API при создании внешнего вида стандартных элементов пользовательского интерфейса. И если мы хотели создать красивую кнопку, приходилось создавать специальный элемент управление и рисовать все состояния с помощью низкоуровневой модели рисования (GDI).
WPF предлагает нам совершенно другую структуру. WPF сама рисует каждую кнопку, текст, рамку, фон. В основе новых возможностей WPF лежит мощная инфраструктура, основанная на DirectX и аппаратно ускоренной графике. Это означает что вы можете использовать богатые графические эффекты без ущерба для производительности.
WPF не зависит от разрешения экрана, все измеряется в аппаратно-независимых единицах.
[Размер физического элемента] = [Размер аппаратно-независимой единицы] Х [DPI системы] = 1/96 дюйма Х 96 dpi = 1 пиксель.
Если значение DPI системы равно 120:
1/96 дюйм X 120 dpi = 1,25 пикселей.
Итак наверное хватит уже теории давайте перейдем к рассмотрению. Создаем новое WPF приложение и перед вами должно создаться окно а в низу разметка окна на языке XAML (Extensible Application Markup Language) – это язык разметки используемый для создания объектов технологии .NET.
Код:

<Window x:Class="WPFTest.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        
    </Grid>
</Window>

Первый элемент это Window. Window как вы уже могли догадаться и есть наше окно =). x:Class="WPFTest.Window1" указывает на класс в котором находится реализация Окна. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml подключается два пространства имен WPF в которых находятся все базовые типы. Title="Window1" Height="300" Width="300"> Title имя отображаемое в заголовке окна, Height и Width высота и ширина окна и закрывающий тег. Далее это содержимое окна или Content. Grid это дочерний элемент для всего что будет находится в окне. Давайте удалим <Grid></Grid> и напишем <StackPanel></StackPanel>. Теперь дочерним элементом всего содержимого окна будет StackPanel (это не обычная панель которую вы привыкли видеть в WinForms). Теперь внутри StackPanel создадим кнопку и надпись:
Код:

<StackPanel>
   <Button>Click Me!</Button>
   <TextBlock>Text</TextBlock>
</StackPanel>

Запустите и попробуйте растянуть и сжать окно. Все содержимое растягивается и масштабируется вместе с окном.
В WPF содержимым кнопки или любого другого элемента может быть что угодно. В кнопку можно вложить еще одну кнопку или чекбокс.
Код:

<StackPanel>
   <Button>
 	 <StackPanel>
        <TextBlock>Text In Button</TextBlock>
        <CheckBox>ChecckBox In Button</CheckBox>
        <Button>Button In Button</Button>
     </StackPanel>
   </Button>
</StackPanel>

В XAML можно написать, как вы выдели выше, а можно и вот так:
Код:

<Button Content="MyButton" />

А возможно и так:
Код:

<Button>
   <Button.Content>
      <TextBlock>TextIn Button</TextBlock>
   </Button.Content>
</Button>

Зная и применяя WPF вы с легкостью в будущем сможете перейти на Microsoft Silverlight. Silverlight – это облегченная версия WPF!
__________________
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок
OrdJONY вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод Паролей IVANSour Общие вопросы Delphi 8 28.04.2009 18:56
Ввод текста pali4ev Общие вопросы Delphi 1 18.12.2008 02:01
контролируемый ввод Kandela Assembler 2 20.05.2008 23:32
Автоматизировать ввод Radmir Microsoft Office Excel 1 23.02.2008 14:13


23:33.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru