Предварительный просмотр макета xaml с конкретными демонстрационными данными

Я разрабатываю приложение WP7 и создаю список с несколькими элементами. Мне было интересно, есть ли способ просмотреть, как будет выглядеть макет. Пока что, поскольку элементов не существует, я не могу их «предварительно просмотреть». Есть ли способ передать некоторые фиктивные данные или другие методы, которые помогут в предварительном просмотре макетов xaml?


person Adrian A.    schedule 13.11.2011    source источник


Ответы (2)


Вы должны предоставить дизайнеру данные.

Существует несколько способов сделать Это.

Один из самых простых — предоставить DataContext в объявлении XAML, чтобы дизайнер мог использовать его при отображении страницы.

В объявлении страницы Xaml:

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
d:DataContext="{d:DesignInstance local:DesignerSampleData, IsDesignTimeCreatable=True}"

Пример класса данных должен содержать данные, к которым привязаны ваши визуальные элементы:

public class DesignerSampleData: INotifyPropertyChanged
    {
        public DesignerSampleData()
        {
            _sampleData = "My test string that will display in VS designer for preview";
        }

        private String _sampleData;
        public String SampleData
        {
            get { return _sampleData; }
            set
            {
                if (value != _sampleData)
                {
                    _sampleData = value;
                    NotifyPropertyChanged("SampleData");
                }
            }
        }

В xaml привязка к SampleData:

<TextBlock Text="{Binding SampleData}" />
person Maxim V. Pavlov    schedule 13.11.2011

Во-первых, это помогает, если вы используете MVVM или, по крайней мере, привязку ItemsSource + ItemTemplate для отображения ваших элементов. Как только вы окажетесь там, в Expression Blend есть несколько отличных инструментов для выборочных данных.

Вы переходите на вкладку «Данные», нажимаете «Создать демо-данные/Новые демо-данные». Он создаст образец данных в виде XAML и привяжет к нему вашу страницу следующим образом:

d:DataContext="{d:DesignData SampleData/MainViewModelSampleData.xaml}"

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

person Filip Skakun    schedule 13.11.2011