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

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

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

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

Перейти на страницу:
которые позволяют получать ввод от пера (или мыши) и создавать форматированные документы с использованием протокола XML Paper Specification.

Обзор основных элементов управления WPF

Если вы не являетесь новичком в области построения графических пользовательских интерфейсов, то общее назначение большинства элементов управления WPF не должно вызывать много вопросов. Независимо от того, какой набор инструментов для создания графических пользовательских интерфейсов вы применяли в прошлом (например, VB6, MFC, Java AWT/Swing, Windows Forms, GTK+/GTK# и т.п.), основные элементы управления WPF, перечисленные в табл. 25.1, вероятно покажутся знакомыми.

На заметку! Целью настоящей главы не является рассмотрение абсолютно всех членов каждого элемента управления WPF. Взамен вы получаете обзор разнообразных элементов управления с упором на лежащую в основе программную модель и ключевые службы, общие для большинства элементов управления WPF.

Элементы управления для работы с Ink API

В дополнение к общепринятым элементам управления WPF, упомянутым в табл. 25.1, инфраструктура WPF определяет элементы управления для работы с интерфейсом Ink API. Данный аспект разработки WPF полезен при построении приложений для Tablet PC, т.к. он позволяет захватывать ввод от пера. Тем не менее, это вовсе не означает, что стандартное настольное приложение не может задействовать Ink API, поскольку те же самые элементы управления могут работать с вводом от мыши.

Пространство имен System.Windows.Ink из сборки PresentationCore.dll содержит разнообразные поддерживающие типы Ink API (например, Stroke и StrokeCollection). Однако большинство элементов управления Ink API (вроде InkCanvas и InkPresenter) упакованы вместе с общими элементами управления WPF в пространстве имен System.Windows.Controls внутри сборки PresentationFramework.dll. Мы будем работать с интерфейсом Ink API позже в главе.

Элементы управления для работы с документами WPF

Вдобавок инфраструктура WPF предоставляет элементы управления для расширенной обработки документов, позволяя строить приложения, которые включают функциональность в стиле Adobe PDF. С применением типов из пространства имен System.Windows.Documents (также находящегося в сборке PresentationFramework.dll) можно создавать готовые к печати документы, которые поддерживают масштабирование, поиск, пользовательские аннотации ("клейкие" заметки) и другие развитые средства работы с текстом.

Тем не менее, "за кулисами" элементы управления документов не используют API-интерфейсы Adobe PDF, а взамен работают с API-интерфейсом XML Paper Specification (XPS). Конечные пользователи никакой разницы не заметят, потому что документы PDF и XPS имеют практически идентичный вид и поведение. В действительности доступно множество бесплатных утилит, которые позволяют выполнять преобразования между указанными двумя файловыми форматами на лету. Из-за ограничений по объему такие элементы управления в текущем издании не рассматриваются.

Общие диалоговые окна WPF

Инфраструктура WPF также предлагает несколько общих диалоговых окон, таких как OpenFileDialog и SaveFileDialog, которые определены в пространстве имен Microsoft.Win32 внутри сборки PresentationFramework.dll. Работа с любым из указанных диалоговых окон сводится к созданию объекта и вызову метода ShowDialog():

using Microsoft.Win32;

// Для краткости код не показан.

private void btnShowDlg_Click(object sender, RoutedEventArgs e)

{

  // Отобразить диалоговое окно сохранения файла.

  SaveFileDialog saveDlg = new SaveFileDialog();

  saveDlg.ShowDialog();

}

Как и можно было ожидать, в этих классах поддерживаются разнообразные члены, которые позволяют устанавливать фильтры файлов и пути к каталогам, а также получать доступ к выбранным пользователем файлам. Некоторые диалоговые окна применяются в последующих примерах; кроме того, будет показано, как строить специальные диалоговые окна для получения пользовательского ввода.

Краткий обзор визуального конструктора WPF в Visual Studio

Большинство стандартных элементов управления WPF упаковано в пространство имен System.Windows.Controls внутри сборки PresentationFramework.dll. При построении приложения WPF в Visual Studio множество общих элементов управления находится в панели инструментов при условии, что активным окном является визуальный конструктор WPF.

Подобно другим инфраструктурам для построения пользовательских интерфейсов в Visual Studio такие элементы управления можно перетаскивать на поверхность визуального конструктора WPF и конфигурировать их в окне Properties (Свойства), как было показано в главе 24. Хотя Visual Studio сгенерирует приличный объем разметки XAML автоматически, нет ничего необычного в том, чтобы затем редактировать разметку вручную. Давайте рассмотрим основы.

Работа с элементами управления WPF в Visual Studio

Вы можете вспомнить из главы 24, что после помещения элемента управления WPF на поверхность визуального конструктора Visual Studio в окне Properties (или прямо в разметке XAML) необходимо установить свойство x:Name, т.к. это позволяет обращаться к объекту в связанном файле кода С#. Кроме того, на вкладке Events (События) окна Properties можно генерировать обработчики событий для выбранного элемента управления. Таким образом, с помощью Visual Studio можно было бы сгенерировать следующую разметку для простого элемента управления Button:

<Button x:Name="btnMyButton" Content="Click Me!" Height="23" Width="140" 

Click="btnMyButton_Click" />

Здесь свойство Content элемента Button устанавливается в простую строку "Click Me!". Однако благодаря модели содержимого элементов управления WPF можно создать элемент Button со следующим сложным содержимым:

<Button x:Name="btnMyButton" Height="121" Width="156" Click="btnMyButton_Click">

  <Button.Content>

    <StackPanel Height="95" Width="128" Orientation="Vertical">

      <Ellipse Fill="Red" Width="52" Height="45" Margin="5"/>

      <Label Width="59" FontSize="20" Content="Click!" Height="36" />

    </StackPanel>

  </Button.Content>

</Button>

Вы можете также вспомнить, что непосредственным дочерним элементом производного от ContentControl класса является предполагаемое содержимое, а потому при указании сложного содержимого определять область Button.Content явно не требуется. Можно было бы написать такую разметку:

<Button x:Name="btnMyButton" Height="121" Width="156" Click="btnMyButton_Click">

  <StackPanel Height="95" Width="128" Orientation="Vertical">

    <Ellipse Fill="Red" Width="52" Height="45" Margin="5"/>

    <Label Width="59" FontSize="20" Content="Click!" Height="36" />

  </StackPanel>

</Button>

В любом случае свойство Content кнопки устанавливается в элемент StackPanel со связанными элементами. Создавать сложное содержимое подобного рода можно также с применением визуального конструктора Visual Studio. После определения диспетчера компоновки для элемента управления содержимым его можно выбирать в визуальном конструкторе в качестве целевого компонента, на который будут перетаскиваться внутренние элементы управления. Каждый из них можно редактировать в окне Properties. Если окно Properties использовалось для обработки события Click элемента управления Button (как было показано в предшествующих объявлениях XAML), то IDE-среда сгенерирует пустой обработчик события, куда можно будет добавить специальный код, например:

private void btnMyButton_Click(object sender, RoutedEventArgs e)

{

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