Estou trabalhando sem mistura de expressão e usando apenas o editor XAML no vs2010. Deixando isso de lado, vejo cada vez mais a necessidade de vinculação de dados em tempo de design. Para casos simples, a FallbackValue
propriedade funciona muito bem (Textboxes e TextBlocks, etc). Mas, especialmente ao lidar com ItemsControl
e semelhantes, é necessário que os dados de amostra fiquem visíveis no designer para que você possa ajustar e ajustar os controles e modelos de dados sem ter que executar o executável.
Eu sei que isso ObjectDataProvider
permite a vinculação a um tipo e, portanto, pode fornecer dados de tempo de design para visualização, mas há alguns malabarismos para permitir que os dados de tempo de execução reais sejam vinculados sem desperdiçar recursos ao carregar o tempo de design, dados simulados e as ligações de tempo de execução.
Na verdade, o que desejo é a capacidade de ter, digamos, "John", "Paul", "George" e "Ringo" no designer XAML como itens estilizáveis no meu ItemsControl
, mas dados reais aparecerem quando o aplicativo corre.
Eu também sei que o Blend permite alguns atributos sofisticados que definem dados de vinculação de tempo de design que são efetivamente ignorados pelo WPF em condições de tempo de execução.
Então, minhas perguntas são:
1. Como posso aproveitar as associações de tempo de design de coleções e dados não triviais no designer XAML do Visual Studio e, em seguida, trocar para associações de tempo de execução sem problemas?
2. Como outras pessoas resolveram esse problema de dados em tempo de design vs. tempo de execução? No meu caso, não posso usar facilmente os mesmos dados para ambos (como seria possível com, digamos, uma consulta de banco de dados).
3. Existem alternativas para a combinação de expressões que eu poderia usar para o design XAML integrado de dados? (Eu sei que existem algumas alternativas, mas eu quero especificamente algo que eu possa usar e ver dados de amostra vinculados, etc?)
d:DataContext
você pode encontrar ajuda nesta questão: stackoverflow.com/questions/8303803/…