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

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

Читать бесплатно Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

        Width="328" Height="27" FontSize="15" Content="Enter Car Information"/>

    <Label x:Name="lblMake" Canvas.Left="17" Canvas.Top="60" Content="Make"/>

    <TextBox x:Name="txtMake" Canvas.Left="94" Canvas.Top="60"

        Width="193" Height="25"/>

    <Label x:Name="lblColor" Canvas.Left="17" Canvas.Top="109" Content="Color"/>

    <TextBox x:Name="txtColor" Canvas.Left="94" Canvas.Top="107"

        Width="193" Height="25"/>

    <Label x:Name="lblPetName" Canvas.Left="17" Canvas.Top="155"

        Content="Pet Name"/>

    <TextBox x:Name="txtPetName" Canvas.Left="94" Canvas.Top="153"

        Width="193" Height="25"/>

  <b>&lt;/Canvas&gt;</b>

&lt;/Page&gt;

В верхней половине экрана отобразится окно, показанное на рис. 25.1.

Обратите внимание, что порядок объявления элементов содержимого внутри Canvas не влияет на расчет местоположения; на самом деле местоположение основано на размере элемента управления и значениях его свойств Canvas.Top, Canvas.Bottom, Canvas.Left и Canvas.Right.

На заметку! Если подэлементы внутри Canvas не определяют специфическое местоположение с использованием синтаксиса присоединяемых свойств (например, Canvas.Left и Canvas.Тор), тогда они автоматически прикрепляются к левому верхнему углу Canvas.

Применение типа Canvas может показаться предпочтительным способом организации содержимого (т.к. он выглядит настолько знакомым), но данному подходу присущи некоторые ограничения. Во-первых, элементы внутри Canvas не изменяют свои размеры динамически при использовании стилей или шаблонов (скажем, их шрифты остаются незатронутыми). Во-вторых, панель Canvas не пытается сохранять элементы видимыми, когда конечный пользователь уменьшает размер окна.

Пожалуй, наилучшим применением типа Canvas является позиционирование графического содержимого. Например, при построении изображения с использованием XAML определенно понадобится сделать так, чтобы все линии, фигуры и текст оставались на своих местах, а не динамически перемещались в случае изменения пользователем размера окна. Мы еще вернемся к Canvas в главе 26 при обсуждении служб визуализации графики WPF.

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

Позиционирование содержимого внутри панелей WrapPanel

Панель WrapPanel позволяет определять содержимое, которое будет протекать сквозь панель, когда размер окна изменяется. При позиционировании элементов внутри WrapPanel их координаты верхнего левого и правого нижнего углов не указываются, как обычно делается в Canvas. Однако для каждого подэлемента допускается определение значений свойств Height и Width (наряду с другими свойствами), чтобы управлять их общим размером в контейнере.

Поскольку содержимое внутри WrapPanel не пристыковывается к заданной стороне панели, порядок объявления элементов играет важную роль (содержимое визуализируется от первого элемента до последнего). В файле SimpleWrapPanel.xaml находится следующая разметка (заключенная внутрь определения Page):

&lt;WrapPanel Background=&quot;LightSteelBlue&quot;&gt;

  &lt;Label x:Name=&quot;lblInstruction&quot; Width=&quot;328&quot; Height=&quot;27&quot;

      FontSize=&quot;15&quot; Content=&quot;Enter Car Information&quot;/&gt;

  &lt;Label x:Name=&quot;lblMake&quot; Content=&quot;Make&quot;/&gt;

  &lt;TextBox x:Name=&quot;txtMake&quot; Width=&quot;193&quot; Height=&quot;25&quot;/&gt;

  &lt;Label x:Name=&quot;lblColor&quot; Content=&quot;Color&quot;/&gt;

  &lt;TextBox x:Name=&quot;txtColor&quot; Width=&quot;193&quot; Height=&quot;25&quot;/&gt;

  &lt;Label x:Name=&quot;lblPetName&quot; Content=&quot;Pet Name&quot;/&gt;

  &lt;TextBox x:Name=&quot;txtPetName&quot; Width=&quot;193&quot; Height=&quot;25&quot;/&gt;

  &lt;Button x:Name=&quot;btnOK&quot; Width=&quot;80&quot; Content=&quot;OK&quot;/&gt;

&lt;/WrapPanel&gt;

Когда эта разметка загружена, при изменении ширины окна содержимое выглядит не особо привлекательно, т.к. оно перетекает слева направо внутри окна (рис. 25.2).

По умолчанию содержимое WrapPanel перетекает слева направо. Тем не менее, если изменить значение свойства Orientation на Vertical, то можно заставить содержимое перетекать сверху вниз:

&lt;WrapPanel Background=&quot;LightSteelBlue&quot; <b>Orientation =&quot;Vertical&quot;</b>&gt;

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

Троелсен Эндрю читать все книги автора по порядку

Троелсен Эндрю - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


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

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


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*