Microsoft-ui-xaml: Вопрос: атрибуты времени разработки Xaml и {x: Bind}

Созданный на 6 февр. 2020  ·  3Комментарии  ·  Источник: microsoft/microsoft-ui-xaml

Привет,

Я довольно много искал в Интернете, пытаясь понять, как мы можем использовать x: Bind, а также одновременно иметь данные о времени разработки, и единственные предлагаемые решения, похоже, включают использование FallbackValue (например, https://stackoverflow.com/questions/31766366 / uwp-xbind-and-design-time-data или создание какой-то «дизайнерской» ViewModel согласно https://fast417.blogspot.com/2016/06/uwp-design-preview-with-xbind.html)

Лучшим подходом, который потребует меньше усилий при разработке, а также будет менее инвазивным (например, избежать загрязнения нашего производственного кода ViewModels данными времени разработки), будет поддержка большего количества атрибутов времени разработки (например, текста), аналогично, например, тому, что Android позволяет с помощью атрибутов инструментов. (https://developer.android.com/studio/write/tool-attributes)

PS - Я создал аналогичную заявку в сообществе разработчиков, но не получил никаких отзывов.

Спасибо,
Cosmin

area-Tooling feature proposal question team-Markup

Самый полезный комментарий

Действительно, статья @mrlacey очень похожа на то, что я ищу.

Я попробую. Спасибо!

Все 3 Комментарий

Я попытался перенести более старый образец данных DesignTime ( статья здесь ) на текущую UWP , но вскоре понял, что есть еще много пробелов, хотя некоторые методы все еще работают. Я думал, что у меня где-то есть ветка по этому поводу, но не могу вспомнить, где сейчас ...

Я знаю , что @mrlacey писал о этой теме , как хорошо здесь .

Действительно, статья @mrlacey очень похожа на то, что я ищу.

Я попробую. Спасибо!

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

Причина в том, что когда ваша страница XAML открывается в Visual Studio или Blend для Visual Studio, императивный код, который присваивает значение DataContext, никогда не запускается (фактически, никакой код программной части не выполняется ). Инструменты XAML, конечно, анализируют вашу разметку и создают экземпляры любых объявленных в ней объектов, но на самом деле они не создают экземпляр самого типа вашей страницы. В результате вы не увидите никаких данных ни в элементах управления, ни в диалоговом окне «Создание привязки данных», а стиль и макет вашей страницы будет сложнее - образцы данных на поверхности конструктора и прототипирование @ https: / /docs.microsoft.com/en-us/windows/uwp/data-binding/displaying-data-in-the-designer

Была ли эта страница полезной?
0 / 5 - 0 рейтинги