» » » » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

На нашем литературном портале можно бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю, Троелсен Эндрю . Жанр: Базы данных. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале litmir.org.
Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Название: Язык программирования C#9 и платформа .NET5
Дата добавления: 22 август 2024
Количество просмотров: 172
Читать онлайн

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту readbookfedya@gmail.com для удаления материала

Язык программирования C#9 и платформа .NET5 читать книгу онлайн

Язык программирования C#9 и платформа .NET5 - читать бесплатно онлайн , автор Троелсен Эндрю

В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле.

Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных.

Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.

Перейти на страницу:

Когда свойству Content должно быть присвоено значение, которое невозможно выразить в виде простого массива символов, его нельзя присвоить с использованием атрибута в открывающем определении элемента управления. Взамен понадобится определить данные содержимого неявно внутри области действия элемента. Например, следующий элемент <Button> включает в качестве содержимого элемент <StackPanel>, который сам имеет уникальные данные (а именно — <Ellipse> и <Label>):

<b>&lt;!— Неявная установка для свойства Content сложных данных —&gt;</b>

&lt;Button Height=&quot;80&quot; Width=&quot;100&quot;&gt;

  &lt;StackPanel&gt;

    &lt;Ellipse Fill=&quot;Red&quot; Width=&quot;25&quot; Height=&quot;25&quot;/&gt;

    &lt;Label Content =&quot;OK!&quot;/&gt;

  &lt;/StackPanel&gt;

&lt;/Button&gt;

Для установки сложного содержимого можно также применять синтаксис "свойство-элемент" языка XAML. Взгляните на показанное далее функционально эквивалентное определение &lt;Button&gt;, которое явно устанавливает свойство Content с помощью синтаксиса "свойство-элемент" (дополнительная информация о XAML будет дана позже в главе, так что пока не обращайте внимания на детали):

<b>&lt;!- Установка свойства Content с использованием синтаксиса &quot;свойство-элемент&quot; -&gt;</b>

&lt;Button Height=&quot;80&quot; Width=&quot;100&quot;&gt;

  &lt;Button.Content&gt;

    &lt;StackPanel&gt;

      &lt;Ellipse Fill=&quot;Red&quot; Width=&quot;25&quot; Height=&quot;25&quot;/&gt;

      &lt;Label Content =&quot;OK!&quot;/&gt;

    &lt;/StackPanel&gt;

  &lt;/Button.Content&gt;

&lt;/Button&gt;

Имейте в виду, что не каждый элемент WPF является производным от класса ConentConrtol, поэтому не все элементы поддерживают такую уникальную модель содержимого (хотя большинство поддерживает). Кроме того, некоторые элементы управления WPF вносят несколько усовершенствований в только что рассмотренную базовую модель содержимого. В главе 25 роль содержимого WPF раскрывается более подробно.

Роль класса System.Windows.Controls.Control

В отличие от ContentControl все элементы управления WPF разделяют в качестве общего родительского класса базовый класс Control. Он предоставляет многочисленные члены, которые необходимы для обеспечения основной функциональности пользовательского интерфейса. Например, в классе Control определены свойства для установки размеров элемента управления, прозрачности, порядка обхода по нажатию клавиши &lt;ТаЬ&gt;, отображаемого курсора, цвета фона и т.д. Более того, данный родительский класс предлагает поддержку шаблонных служб. Как объясняется в главе 27, элементы управления WPF могут полностью изменять способ визуализации своего внешнего вида, используя шаблоны и стили. В табл. 24.6 кратко описаны основные члены типа Control, сгруппированные по связанной функциональности.

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

Роль класса System.Windows.FrameworkElement

Базовый класс FrameworkElement предоставляет несколько членов, которые применяются повсюду в инфраструктуре WPF, в том числе для поддержки раскадровки(в целях анимации)и привязки данных, а также возможности именования членов (через свойство Name), получения любых ресурсов, определенных производным типом, и установки общих измерений производного типа. Основные члены класса FrameworkElement кратко описаны в табл. 24.7.

Роль класса System.Windows.UIElement

Из всех типов в цепочке наследования класса Window наибольший объем функциональности обеспечивает базовый класс UIElement. Его основная задача — предоставить производному типу многочисленные события, чтобы он мог получать фокус и обрабатывать входные запросы. Например, в классе UIElement предусмотрены многочисленные события для обслуживания операций перетаскивания, перемещения курсора мыши, клавиатурного ввода, ввода посредством пера и сенсорного ввода.

Модель событий WPF будет подробно описана в главе 25; тем не менее, многие основные события будут выглядеть вполне знакомо (MouseMove, MouseDown, MouseEnter, MouseLeave, KeyUp и т.д.). В дополнение к десяткам событий родительский класс UIElement предлагает свойства, предназначенные для управления фокусом, состоянием доступности, видимостью и логикой проверки попадания (табл. 24.8).

Роль класса System.Windows.Media.Visual

Класс Visual предлагает основную поддержку визуализации в WPF, которая включает проверку попадания для графических данных, координатную трансформацию и вычисление ограничивающих прямоугольников. В действительности при рисовании данных на экране класс Visual взаимодействует с подсистемой DirectX. Как будет показано в главе 26, инфраструктура WPF поддерживает три возможных способа визуализации графических данных, каждый из которых отличается в плане функциональности и производительности. Применение типа Visual (и его потомков вроде DrawingVisual) является наиболее легковесным путем визуализации графических данных, но также подразумевает написание вручную большого объема кода для учета всех требуемых служб. Более подробно об этом пойдет речь в главе 26.

Роль класса System.Windows.DependencyObject

Инфраструктура WPF поддерживает отдельную разновидность свойств .NET под названием свойства зависимости. Выражаясь упрощенно, данный стиль свойств предоставляет дополнительный код, чтобы позволить свойству реагировать на определенные технологии WPF, такие как стили, привязка данных, анимация и т.д. Чтобы тип поддерживал подобную схему свойств, он должен быть производным от базового класса DependencyObject. Несмотря на то что свойства зависимости являются ключевым аспектом разработки WPF, большую часть времени их детали скрыты от глаз. В главе 25 мы рассмотрим свойства зависимости более подробно.

Перейти на страницу:
Комментариев (0)