Использование примеров данных во время разработки с помощью конструктора XAML в Visual Studio

Некоторые элементы управления, зависящие от данных, такие как ListView, ListBoxи DataGrid, трудно визуализировать без данных. В этой статье мы рассмотрим новый подход, позволяющий разработчикам, работающим над проектами .NET Core Windows Presentation Foundation (WPF) или проектами WPF платформа .NET Framework с помощью конструктора XAML в Visual Studio, чтобы включить примеры данных в этих элементах управления.

Requirements

Для функции примеров данных требуется Visual Studio 2019 версии 16.10 или более поздней.

Эта функция поддерживает классические проекты Windows, предназначенные для WPF для .NET Core или платформа .NET Framework при использовании нового конструктора. Чтобы включить новый конструктор для платформа .NET Framework, выполните следующие действия.

  1. Перейдите к функциям предварительной версии среды>"Параметры> инструментов".>
  2. Выберите новый конструктор XAML WPF для платформа .NET Framework, а затем перезапустите Visual Studio.

Основы функции примеров данных

Функция "Примеры данных" предназначена только для визуализации во время разработки. Он отображается только в конструкторе XAML, а не в работающем приложении. Таким образом, он применяется к версии ItemsSourced:ItemsSourceсвойства во время разработки. Для работы примера данных требуется пространство имен времени разработки.

Примечание.

Дополнительные сведения о свойствах времени разработки в XAML см. в свойствах времени разработки XAML.

Чтобы приступить к работе, добавьте следующие строки кода в заголовок документа XAML, если их еще нет:

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"

После добавления пространств имен можно использовать d:ItemsSource="{d:SampleData}" для включения примеров данных в вашем ListViewListboxэлементе управления или DataGrid элементе управления. Например:

<DataGrid d:ItemsSource="{d:SampleData}"/>

Screenshot that shows sample data on a data grid.

В этом примере конструктор d:ItemsSource="{d:SampleData}"XAML будет отображать пустую сетку данных. Вместо этого в d:SampleDataнем отображаются созданные по умолчанию примеры данных.

По умолчанию отображаются пять элементов. Однако свойство можно использовать ItemCount для указания количества отображаемых элементов. Например: d:ItemsSource="{d:SampleData ItemCount=2}".

Примеры данных с шаблонами данных

Функция примеров данных работает для ListBoxэлементов ListViewуправления или DataGrid элементов управления при использовании шаблонов данных. Эта функция анализирует DataTemplate элемент управления и пытается создать для него соответствующие данные.

Образец данных будет создан только для элементов в шаблонах данных, использующих привязки. Образец данных будет создан, даже если привязки еще не имеют источника. Например:

<ListView d:ItemsSource="{d:SampleData ItemCount=3}">
     <ListView.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <Image Width="50" Source="{Binding ProfilePicture}"/>
                <StackPanel Orientation="Vertical">
                    <TextBlock Text="{Binding FirstName}" Margin="5"/>
                    <Label Content="{Binding LastName}"/>
                </StackPanel>
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

Screenshot that shows sample data in a list view with a data template.

Пример данных с предлагаемыми действиями

Чтобы легко включить или отключить примеры данных для элемента управления из конструктора, можно использовать функцию предлагаемых действий. Предлагаемые действия — это лампочка на конструкторе, который отображается в правом верхнем углу при выборе элемента управления. Вы можете включить примеры данных, выбрав элемент управления, выбрав лампочки, а затем выбрав "Показать примеры данных". Например:

Screenshot that shows sample data with Suggested Actions.

Примеры данных с интерфейсом IValueConverter

Функция примеров данных не полностью поддерживает преобразователи или IValueConverter интерфейс. Тем не менее, вы можете получить его для работы, выполнив одно или оба из следующих действий:

  • Убедитесь, что функция Convert может обрабатывать сценарий, в котором значение уже является вашим целевым типом.
  • Реализуйте функцию ConvertBack , которая преобразует значение обратно в исходный тип.

Устранение неполадок

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

Если возникла проблема, которая не указана в этом разделе или не может быть исправлена, обновив страницу, сообщите нам об этом с помощью средства "Сообщить о проблеме ".