Microsoft-ui-xaml: Pergunta: Atributos de tempo de design Xaml e {x: Bind}

Criado em 6 fev. 2020  ·  3Comentários  ·  Fonte: microsoft/microsoft-ui-xaml

Olá,

Pesquisei bastante online tentando entender como podemos usar x: Bind e também ter dados de tempo de design ao mesmo tempo e as únicas soluções sugeridas parecem envolver o uso de FallbackValue (por exemplo, https://stackoverflow.com/questions/31766366 / uwp-xbind-and-design-time-data ou criando algum tipo de ViewModel de “design” conforme https://fast417.blogspot.com/2016/06/uwp-design-preview-with-xbind.html)

Uma abordagem melhor que exigiria menos esforço de desenvolvimento e também seria menos invasiva (por exemplo, evitar poluir nosso código de produção ViewModels com dados de tempo de design) seria oferecer suporte a mais atributos de tempo de design (por exemplo, Texto) de forma semelhante, por exemplo, ao que o Android permite por meio de seus atributos de ferramentas (https://developer.android.com/studio/write/tool-attributes)

PS - Eu criei um tíquete semelhante na comunidade de desenvolvedores, mas não recebi nenhum feedback.

Obrigado,
Cosmin

area-Tooling feature proposal question team-Markup

Comentários muito úteis

Na verdade , o artigo de

Vou dar uma chance. Obrigado!

Todos 3 comentários

Eu tentei portar uma amostra de dados DesignTime mais antiga ( artigo aqui ) para o UWP atual , mas logo percebi que há muito mais lacunas, embora alguns métodos ainda funcionem. Eu pensei que tinha um tópico em algum lugar sobre isso, mas não consigo me lembrar onde agora ...

Eu sei que @mrlacey blogou sobre esse assunto também aqui .

Na verdade , o artigo de

Vou dar uma chance. Obrigado!

Nenhuma das abordagens sugeridas que usam x:Bind funcionou, portanto, escrever o código a seguir parece ser a única maneira de suportar as instâncias de tempo de design e a extensão de marcação x:Bind . No entanto, parece ser bastante prolixo.

O motivo é que, quando sua página XAML é aberta no Visual Studio ou no Blend for Visual Studio, o código imperativo que atribui o valor DataContext nunca é executado (na verdade, nenhum de seu code-behind é executado ). É claro que as ferramentas XAML analisam sua marcação e instanciam quaisquer objetos declarados nela, mas não instanciam realmente o tipo de sua página. O resultado é que você não verá nenhum dado em seus controles ou na caixa de diálogo Criar vinculação de dados, e sua página será mais desafiadora de estilizar e dispor - Dados de amostra na superfície de design e para prototipagem @ https: / /docs.microsoft.com/en-us/windows/uwp/data-binding/displaying-data-in-the-designer

Esta página foi útil?
0 / 5 - 0 avaliações