Текстовые поля ограничены в видах содержимого.

3.2.2 Простые элементы управления с содержимым являются наследниками класса ContentControl, содержат в своём составе свойство Content, через которое можно добавить к элементу любое содержимое.

Например, класс Button унаследован от ContentControl, так что и к нему разрешено добавлять любое содержимое. Ниже приводятся примеры XAML-описания кнопок с различным содержанием, размещённых в контейнере <Grid>:

<!-- Кнопка с геометрической фигурой -->

<Button Content="Кнопка с геометрической фигурой" Grid. Column="0" Grid. Row="0" Grid. ColumnSpan="3" FontSize="26" Margin="10" Padding="20">

<Button. Background>

<DrawingBrush>

<DrawingBrush. Drawing>

<GeometryDrawing Brush="Red">

<GeometryDrawing. Pen>

<Pen>

<Pen. Brush>

<SolidColorBrush>Blue</SolidColorBrush>

</Pen. Brush>

</Pen>

</GeometryDrawing. Pen>

<GeometryDrawing. Geometry>

<PathGeometry>

<PathGeometry. Figures>

<PathFigure StartPoint="100,0">

<PathFigure. Segments>

<BezierSegment Point1="100,50" Point2="150,50" Point3="150,50" />

<LineSegment Point="120,110" />

<BezierSegment Point1="100,100" Point2="50,50" Point3="50,100" />

<LineSegment Point="100,50" />

</PathFigure. Segments>

НЕ нашли? Не то? Что вы ищете?

</PathFigure>

</PathGeometry. Figures>

</PathGeometry>

</GeometryDrawing. Geometry>

</GeometryDrawing>

</DrawingBrush. Drawing>

</DrawingBrush>

</Button. Background>

</Button>

<!-- Кнопка с фоном типа Градиент -->

<Button Grid. Column="1" Grid. Row="1" Grid. ColumnSpan="2" Content="Кнопка с фоном типа Градиент" FontSize="20" Foreground="White">

<Button. Background>

<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">

<GradientStop Offset="0" Color="LightBlue" />

<GradientStop Offset="0.4" Color="Blue" />

<GradientStop Offset="1" Color="DarkBlue" />

</LinearGradientBrush>

</Button. Background>

</Button>

<!-- Кнопка с медиа -->

<Button Content="Кнопка с медиа" Grid. Column="0" Grid. Row="2" Foreground="White">

<Button. Background>

<VisualBrush>

<VisualBrush. Visual>

<MediaElement Source="d:\MainBackground. wmv" />

</VisualBrush. Visual>

</VisualBrush>

</Button. Background>

</Button>

<!-- Кнопка со страницей -->

<Button Grid. Column="2" Grid. Row="2" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" >

<Frame Source="Page1.xaml" Background="White" NavigationUIVisibility="Hidden" />

</Button>

Для последнего примера необходимо включить в состав проекта страницу и заменить код листинга Page1.xaml на описание, заимствованное из открытой коллекции ©Microsoft.

Листинг Page1.xaml

<!--

// Copyright © Microsoft Corporation. All Rights Reserved.

// This code released under the terms of the

// Microsoft Public License (MS-PL, http://opensource. org/licenses/ms-pl. html.) -->

<!-- TextAnimationExample. xaml

Applies an animated rotate transform to

individual characters.-->

<Page xmlns="http://schemas. /winfx/2006/xaml/presentation"

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

x:Class="WpfApplication1.Page1">

<Page. Background>

<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">

<LinearGradientBrush. GradientStops>

<GradientStop Offset="0.0" Color="Black" />

<GradientStop Offset="1.0" Color="#666666" />

</LinearGradientBrush. GradientStops>

</LinearGradientBrush>

</Page. Background>

<StackPanel Margin="5">

<Border Name="TextBorder" HorizontalAlignment="Center"

VerticalAlignment="Center" >

<TextBlock

Name="RealText"

FontFamily="Segoe UI"

FontSize="40 px"

Margin="5"

Foreground="White">

Windows 7

<TextBlock. TextEffects>

<!-- The TextEffect to animate. -->

<TextEffect PositionCount="1" x:Name="MyTextEffect">

<TextEffect. Transform>

<RotateTransform x:Name="TextEffectRotateTransform"

Angle="0" CenterX="10" CenterY="10" />

</TextEffect. Transform>

</TextEffect>

</TextBlock. TextEffects>

<TextBlock. Triggers>

<EventTrigger RoutedEvent="TextBlock. Loaded">

<BeginStoryboard>

<Storyboard>

<ParallelTimeline RepeatBehavior="Forever">

<!-- Animates the angle of the RotateTransform

applied to the TextEffect. -->

<DoubleAnimation

Storyboard. TargetName="TextEffectRotateTransform"

Storyboard. TargetProperty="Angle"

From="0"

To="360"

Duration="00:00:0.75"

BeginTime="0:0:0.25" />

</ParallelTimeline>

<!-- Animates the horizontal center of the RotateTransform

applied to the TextEffect. -->

<DoubleAnimation

From="30"

To="370"

Duration="00:00:13"

RepeatBehavior="Forever"

AutoReverse="True"

Storyboard. TargetName="TextEffectRotateTransform"

Storyboard. TargetProperty="CenterX" />

<!-- Animates the position of the TextEffect. -->

<Int32AnimationUsingKeyFrames

Storyboard. TargetName="MyTextEffect"

Storyboard. TargetProperty="PositionStart"

Duration="0:0:13"

AutoReverse="True"

RepeatBehavior="Forever">

<Int32AnimationUsingKeyFrames. KeyFrames>

<DiscreteInt32KeyFrame Value="0" KeyTime="0:0:0" />

<DiscreteInt32KeyFrame Value="1" KeyTime="0:0:1" />

<DiscreteInt32KeyFrame Value="2" KeyTime="0:0:2" />

<DiscreteInt32KeyFrame Value="3" KeyTime="0:0:3" />

<DiscreteInt32KeyFrame Value="4" KeyTime="0:0:4" />

<DiscreteInt32KeyFrame Value="5" KeyTime="0:0:5" />

<DiscreteInt32KeyFrame Value="6" KeyTime="0:0:6" />

<DiscreteInt32KeyFrame Value="7" KeyTime="0:0:7" />

<DiscreteInt32KeyFrame Value="8" KeyTime="0:0:8" />

<DiscreteInt32KeyFrame Value="9" KeyTime="0:0:9" />

<DiscreteInt32KeyFrame Value="10" KeyTime="0:0:10" />

<DiscreteInt32KeyFrame Value="11" KeyTime="0:0:11" />

<DiscreteInt32KeyFrame Value="12" KeyTime="0:0:12" />

</Int32AnimationUsingKeyFrames. KeyFrames>

</Int32AnimationUsingKeyFrames>

</Storyboard>

</BeginStoryboard>

</EventTrigger>

</TextBlock. Triggers>

</TextBlock>

</Border>

<!-- Uses a VisualBrush to create a reflection of the animated text. -->

<Rectangle Name="ReflectedText"

Height="{Binding ElementName=TextBorder, Path=ActualHeight}"

Width="{Binding ElementName=TextBorder, Path=ActualWidth}"

HorizontalAlignment="Center">

<Rectangle. OpacityMask>

<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">

<LinearGradientBrush. GradientStops>

<GradientStop Offset="0.0" Color="#66000000" />

<GradientStop Offset="1.0" Color="#00000000" />

</LinearGradientBrush. GradientStops>

</LinearGradientBrush>

</Rectangle. OpacityMask>

<Rectangle. Fill>

<VisualBrush

Visual="{Binding ElementName=TextBorder}">

<VisualBrush. RelativeTransform>

<TransformGroup>

<ScaleTransform ScaleX="1" ScaleY="-1" />

<TranslateTransform Y="1" />

</TransformGroup>

</VisualBrush. RelativeTransform>

</VisualBrush>

</Rectangle. Fill>

</Rectangle>

</StackPanel>

</Page>

Образ окна с кнопками на этапе выполнения иллюстрирует рисунок 3.5.

Рисунок 3.5

Наиболее часто используемые классы стандартных элементов управления содержимым описаны в таблице 3.3.

Таблица 3.3

Класс

Описание

Button

Событие по умолчанию Click

CheckBox

Для кнопки определены три состояния с помощью свойства IsChecked: true - "включена", false - "отключена" и null – состояние не определено.

RadioButton

Для кнопки определены такие же три состояния для свойства IsChecked. Значение null – выбор должен быть подтверждён.

Label

Представляет текстовую метку для элемента управления, поддерживает клавиатурные комбинации ускоренного доступа, например, для команд меню.

Frame

Поддерживает навигацию по содержимому страницы с помощью метода Navigate(). Если содержимым является web-страница, то для его отображения применяется элемент управления типа web - браузера.

ScrollViewer

Включает линейку прокрутки, которая отображается по мере необходимости.

ToolTip

Создаёт всплывающее окно для отображения дополнительной информации о некотором элементе управления.

UserControl

Использование в качестве базового класса предлагает простой способ создания специальных (пользовательских) элементов управления. Однако базовый класс UserControl не поддерживает шаблонов.

Window

Позволяет создавать окна и диалоговые окна. С помощью класса Window получается фрейм с кнопками сворачивания/разворачивания/закрытия и системным меню.

NavigationWindow

Унаследован от класса Window и поддерживает навигацию по содержимому.

В следующем XAML описании внутри <Window> содержится только элемент управления <Frame>.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14

Основные порталы (построено редакторами)

Домашний очаг

ДомДачаСадоводствоДетиАктивность ребенкаИгрыКрасотаЖенщины(Беременность)СемьяХобби
Здоровье: • АнатомияБолезниВредные привычкиДиагностикаНародная медицинаПервая помощьПитаниеФармацевтика
История: СССРИстория РоссииРоссийская Империя
Окружающий мир: Животный мирДомашние животныеНасекомыеРастенияПриродаКатаклизмыКосмосКлиматСтихийные бедствия

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организации
МуниципалитетыРайоныОбразованияПрограммы
Отчеты: • по упоминаниямДокументная базаЦенные бумаги
Положения: • Финансовые документы
Постановления: • Рубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датам
Регламенты
Термины: • Научная терминологияФинансоваяЭкономическая
Время: • Даты2015 год2016 год
Документы в финансовой сферев инвестиционнойФинансовые документы - программы

Техника

АвиацияАвтоВычислительная техникаОборудование(Электрооборудование)РадиоТехнологии(Аудио-видео)(Компьютеры)

Общество

БезопасностьГражданские права и свободыИскусство(Музыка)Культура(Этика)Мировые именаПолитика(Геополитика)(Идеологические конфликты)ВластьЗаговоры и переворотыГражданская позицияМиграцияРелигии и верования(Конфессии)ХристианствоМифологияРазвлеченияМасс МедиаСпорт (Боевые искусства)ТранспортТуризм
Войны и конфликты: АрмияВоенная техникаЗвания и награды

Образование и наука

Наука: Контрольные работыНаучно-технический прогрессПедагогикаРабочие программыФакультетыМетодические рекомендацииШколаПрофессиональное образованиеМотивация учащихся
Предметы: БиологияГеографияГеологияИсторияЛитератураЛитературные жанрыЛитературные героиМатематикаМедицинаМузыкаПравоЖилищное правоЗемельное правоУголовное правоКодексыПсихология (Логика) • Русский языкСоциологияФизикаФилологияФилософияХимияЮриспруденция

Мир

Регионы: АзияАмерикаАфрикаЕвропаПрибалтикаЕвропейская политикаОкеанияГорода мира
Россия: • МоскваКавказ
Регионы РоссииПрограммы регионовЭкономика

Бизнес и финансы

Бизнес: • БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумаги: • УправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги - контрольЦенные бумаги - оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудит
Промышленность: • МеталлургияНефтьСельское хозяйствоЭнергетика
СтроительствоАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством