Arhn - архитектура программирования

Текст отображается в конструкторе VS 2015, когда значение текстового поля элемента управления привязано

Всякий раз, когда я привязываю текстовое свойство к просмотру свойства модели

<TextBlock Text="{Binding SomeExampleText}"/>

на конструкторе я ничего не вижу в том месте, где мой текст появится во время выполнения. Когда я использую x: Bind:

<TextBlock Text="{x:Bind ViewModel.SomeExampleText}"/>

в дизайнере я вижу "ViewModel.SomeExampleText", иногда он не отображает полную длину из-за нехватки места (если путь привязки слишком длинный).

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


  • См. эту публикацию о данных времени разработки. . 21.01.2016
  • Я не думаю, что дублирование каждого элемента управления, у которого есть свойство text, связанное с манекеном, является хорошим способом... Другое столь же плохое решение - добавить привязку из кода, но это также не то, что я ищу. 21.01.2016

Ответы:


1

Существуют способы создания моделей представления специально для времени разработки. Самый простой подход, вероятно, таков:

<TextBlock Text="{x:Bind ViewModel.SomeExampleText, FallbackValue='Hello!'}"/>

Тот показывает строку «Hello» в дизайнере, как с Binding, так и с x:Bind.

Для Binding вы можете установить контекст данных времени разработки примерно так:

<Page
    ...
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:viewModels="using:MyNameSpace.ViewModels"
    d:DataContext="{d:DesignInstance Type=viewModels:DesignTimeViewModel, IsDesignTimeCreatable=True}"
    mc:Ignorable="d">

DesignTimeViewModel не нуждается в какой-либо конкретной связи с вашей моделью представления во время выполнения; ему нужно только иметь подходящие свойства с теми же именами. Если вы привязываетесь к коллекциям, это, вероятно, ваш лучший выбор.

21.01.2016

2

Создайте специальную модель представления для представления «Дизайн», чтобы настроить макет и стиль представления с реалистичными данными, которые не будут попадать в среду выполнения.

Поскольку x:Bind ищет в коде программной части строго типизированный источник данных, вам потребуется имитировать этот путь привязки данных в представлении «Дизайн». Вот один из способов:

Примените атрибут d:DataContext к вашему представлению, задайте свойство Type для вашего представления. Когда «IsDesignTimeCreatable» имеет значение true, будет создан новый экземпляр вашего кода программной части.

d:DataContext="{d:DesignInstance Type=local:MainPage,IsDesignTimeCreatable=True}" 

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

В этом сообщении блога показан пример: http://fast417.blogspot.com/2016/06/uwp-design-preview-with-xbind.html

16.06.2016
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..