books-read.com
books-read.com » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

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

Наш ресурс дает возможность бесплатно читать книгу онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных . Сайт books-read.com дает возможность читать полную версию книги без регистрации и sms. Все книги онлайн, не надо качать fb2, epub, txt.
Добавить книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю в приложение ЧИТАТЬ КНИГУ ОФЛАЙН в приложении ios/android
Перейти на страницу:

Построение вкладки Data Binding

В окне Document Outline замените элемент управления

Grid
во второй вкладке панелью
StackPanel
. Создайте следующую начальную компоновку с применением панели инструментов и окна Properties среды Visual Studio:

<TabItem x:Name="tabDataBinding" Header="Data Binding">

  <StackPanel Width="250">

    <Label Content="Move the scroll bar to see the current value"/>

<b>    &lt;!-- Значение линейки прокрутки является источником этой привязки данных --&gt;</b>

    &lt;ScrollBar x:Name=&quot;mySB&quot; Orientation=&quot;Horizontal&quot; Height=&quot;30&quot;

           Minimum = &quot;1&quot; Maximum = &quot;100&quot; LargeChange=&quot;1&quot; SmallChange=&quot;1&quot;/&gt;

<b>    &lt;!-- Содержимое метки будет привязано к линейке прокрутки --&gt;</b>

    &lt;Label x:Name=&quot;labelSBThumb&quot; Height=&quot;30&quot; BorderBrush=&quot;Blue&quot;

           BorderThickness=&quot;2&quot; Content = &quot;0&quot;/&gt;

  &lt;/StackPanel&gt;

&lt;/TabItem&gt;

Обратите внимание, что объект

ScrollBar
(названный здесь
mySB
) сконфигурирован с диапазоном от
1
до
100
. Цель заключается в том, чтобы при изменении положения ползунка линейки прокрутки (либо по щелчку на символе стрелки влево или вправо) элемент
Label
автоматически обновлялся текущим значением. В настоящий момент значение свойства
Content
элемента управления
Label
установлено в
&quot;0&quot;
; тем не менее, оно будет изменено посредством операции привязки данных.

Установка привязки данных

Механизмом, обеспечивающим определение привязки в разметке XAML, является расширение разметки

{Binding}
. Хотя привязки можно определять посредством Visual Studio, это столь же легко делать прямо в разметке. Отредактируйте разметку XAML свойства
Content
элемента
Label
по имени
labelSBThumb
следующим образом:

&lt;Label x:Name=&quot;labelSBThumb&quot; Height=&quot;30&quot; BorderBrush=&quot;Blue&quot; BorderThickness=&quot;2&quot;

       Content = &quot;{Binding Path=Value, ElementName=mySB}&quot;/&gt;

Обратите внимание на значение, присвоенное свойству

Content
элемента
Label
. Конструкция
{Binding}
обозначает операцию привязки данных. Значение
ElementName
представляет источник операции привязки данных (объект
ScrollBar
), a
Path
указывает свойство, к которому осуществляется привязка (свойство
Value
линейки прокрутки).

Если вы запустите программу снова, то обнаружите, что содержимое метки обновляется на основе значения линейки прокрутки по мере перемещения ползунка.

Свойство DataContext

Для определения операции привязки данных в XAML может использоваться альтернативный формат, при котором допускается разбивать значения, указанные расширением разметки

{Binding}
, за счет явной установки свойства
DataContext
в источник операции привязки:

<b>&lt;!-- Разбиение объекта и значения посредством DataContext --&gt;</b>

&lt;Label x:Name=&quot;labelSBThumb&quot; Height=&quot;30&quot; BorderBrush=&quot;Blue&quot;

    BorderThickness=&quot;2&quot;

    DataContext = &quot;{Binding ElementName=mySB}&quot;

    Content = &quot;{Binding Path=Value}&quot; /&gt;

В текущем примере вывод будет идентичным. С учетом этого вполне вероятно вас интересует, в каких случаях необходимо устанавливать свойство

DataContext
явно. Поступать так может быть удобно из-за того, что подэлементы способны наследовать свои значения в дереве разметки.

Подобным образом можно легко устанавливать один и тот же источник данных для семейства элементов управления, не повторяя избыточные фрагменты XAML-разметки

&quot;{Binding ElementName=X, Path=Y}&quot;
во множестве элементов управления. Например, пусть в панель
StackPanel
вкладки добавлен новый элемент
Button
(вскоре вы увидите, почему он имеет настолько большой размер):

&lt;Button Content=&quot;Click&quot; Height=&quot;200&quot;/&gt;

Чтобы сгенерировать привязки данных для множества элементов управления, вы могли бы применить Visual Studio, но взамен введите модифицированную разметку в редакторе XAML:

<b>&lt;!-- Обратите внимание, что StackPanel устанавливает</b>

<b>     свойство DataContext --&gt;</b>

&lt;StackPanel Background=&quot;#FFE5E5E5&quot;

            DataContext = &quot;{Binding ElementName=mySB}&quot;&gt;

  ...

<b>  &lt;!-- Теперь оба элемента пользовательского интерфейса работают</b>

<b>       со значением линейки прокрутки уникальными путями --&gt;</b>

  &lt;Label x:Name=&quot;labelSBThumb&quot; Height=&quot;30&quot; BorderBrush=&quot;Blue&quot;

      BorderThickness=&quot;2&quot;

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

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

Троелсен Эндрю - на сайте онлайн книг books-read.com Вы можете читать полные версии книг автора в одном месте.


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

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


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

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

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


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