Жанры книг
Мы в соц.сетях
ParaKnig📚 » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
<< На главную

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

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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 554 555 556 557 558 559 560 561 562 ... 642
Перейти на страницу:

&lt;Grid IsSharedSizeScope=&quot;True&quot; Margin=&quot;5,0,5,5&quot;&gt;

  &lt;Grid.RowDefinitions&gt;

    &lt;RowDefinition Height=&quot;Auto&quot;/&gt;

    &lt;RowDefinition Height=&quot;Auto&quot;/&gt;

  &lt;/Grid.RowDefinitions&gt;

  &lt;Grid Grid.Row=&quot;0&quot;&gt;

    &lt;Grid.ColumnDefinitions&gt;

      &lt;ColumnDefinition Width=&quot;Auto&quot;

        SharedSizeGroup=&quot;CarLabels&quot;/&gt;

      &lt;ColumnDefinition Width=&quot;*&quot;/&gt;

    &lt;/Grid.ColumnDefinitions&gt;

    &lt;Label Grid.Column=&quot;0&quot; Content=&quot;Vehicle&quot;/&gt;

    &lt;ComboBox Name=&quot;cboCars&quot;  Grid.Column=&quot;1&quot;

      DisplayMemberPath=&quot;PetName&quot; /&gt;

&lt;/Grid&gt;

&lt;Grid Grid.Row=&quot;1&quot; Name=&quot;DetailsGrid&quot;&gt;

  &lt;Grid.ColumnDefinitions&gt;

    &lt;ColumnDefinition Width=&quot;Auto&quot;

      SharedSizeGroup=&quot;CarLabels&quot;/&gt;

    &lt;ColumnDefinition Width=&quot;*&quot;/&gt;

  &lt;/Grid.ColumnDefinitions&gt;

  &lt;Grid.RowDefinitions&gt;

    &lt;RowDefinition Height=&quot;Auto&quot;/&gt;

    &lt;RowDefinition Height=&quot;Auto&quot;/&gt;

    &lt;RowDefinition Height=&quot;Auto&quot;/&gt;

    &lt;RowDefinition Height=&quot;Auto&quot;/&gt;

    &lt;RowDefinition Height=&quot;Auto&quot;/&gt;

  &lt;/Grid.RowDefinitions&gt;

   &lt;Label Grid.Column=&quot;0&quot; Grid.Row=&quot;0&quot; Content=&quot;Id&quot;/&gt;

  &lt;TextBox Grid.Column=&quot;1&quot; Grid.Row=&quot;0&quot; /&gt;

  &lt;Label Grid.Column=&quot;0&quot; Grid.Row=&quot;1&quot; Content=&quot;Make&quot;/&gt;

  &lt;TextBox Grid.Column=&quot;1&quot; Grid.Row=&quot;1&quot; /&gt;

  &lt;Label Grid.Column=&quot;0&quot; Grid.Row=&quot;2&quot; Content=&quot;Color&quot;/&gt;

  &lt;TextBox Grid.Column=&quot;1&quot; Grid.Row=&quot;2&quot; /&gt;

  &lt;Label Grid.Column=&quot;0&quot; Grid.Row=&quot;3&quot; Content=&quot;Pet Name&quot;/&gt;

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

  &lt;TextBox Grid.Column=&quot;1&quot; Grid.Row=&quot;3&quot; /&gt;

  &lt;StackPanel Grid.Column=&quot;0&quot; Grid.ColumnSpan=&quot;2&quot; Grid.Row=&quot;4&quot;

       HorizontalAlignment=&quot;Right&quot; Orientation=&quot;Horizontal&quot; Margin=&quot;0,5,0,5&quot;&gt;

    &lt;Button x:Name=&quot;btnAddCar&quot; Content=&quot;Add Car&quot; Margin=&quot;5,0,5,0&quot; Padding=&quot;4, 2&quot; /&gt;

    &lt;Button x:Name=&quot;btnChangeColor&quot; Content=&quot;Change Color&quot; Margin=&quot;5,0,5,0&quot;

       Padding=&quot;4, 2&quot;/&gt;

  &lt;/StackPanel&gt;

  &lt;/Grid&gt;

&lt;/Grid&gt;

Окно должно напоминать показанное на рис. 28.1.

Свойство IsSharedSizeScope элемента управления Grid заставляет дочерние сетки разделять размеры. Элемент ColumnDefinitions, помеченный как SharedSizeGroup, автоматически получит ту же самую ширину без каких-либо потребностей в программировании. В рассматриваемом примере, если размер метки Pet Name (Дружественное имя) изменяется из-за более длинного значения, тогда соответствующим образом корректируется и размер колонки Vehicle (Автомобиль), который находится в другом элементе управления Grid, сохраняя аккуратный внешний вид окна.

Щелкните правой кнопкой мыши на имени проекта в окне Solution Explorer, выберите в контекстном меню пункт AddNew Folder (Добавить►Новая папка) и назначьте новой папке имя Models. Создайте в новой папке файл класса Car.cs. Первоначально код класса выглядит так:

public class Car

{

  public int Id { get; set; }

  public string Make { get; set; }

  public string Color { get; set; }

  public string PetName { get; set; }

}

Добавление привязок и данных

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

Установите свойство DataContext в свойство SelectedItem элемента ComboBox. Модифицируйте определение элемента Grid, содержащего элементы управления с информацией об автомобиле, следующим образом:

1 ... 554 555 556 557 558 559 560 561 562 ... 642
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю бесплатно.
Комментарии
Открыть боковую панель
Комментарии
Лариса
Лариса 11.03.2026 - 20:17
Странно,здесь имя девочки Аграфена,а на других сайтах я прослушала три книги этого цикла с именем Дарвина.Зачем менять имя и путать читателей? Опечатка- не Дарвина,  а  Дарина.
Григорий
Григорий 09.04.2025 - 22:24
Лучшая книга всех времен
Женя
Женя 02.04.2025 - 16:08
Любимая книга