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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 22.02.2009, 13:08   #1
OrdJONY
.NET-чик
Форумчанин
 
Аватар для OrdJONY
 
Регистрация: 24.03.2007
Сообщений: 569
По умолчанию Ввод в 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 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод Паролей IVANSour Общие вопросы Delphi 8 28.04.2009 17:56
Ввод текста pali4ev Общие вопросы Delphi 1 18.12.2008 01:01
контролируемый ввод Kandela Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 20.05.2008 22:32
Автоматизировать ввод Radmir Microsoft Office Excel 1 23.02.2008 13:13


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS