wpf - imagen - ¿Cómo ver el enlace de datos en tiempo de diseño en el editor XAML(funciona en tiempo de ejecución)?
xamarin design view (2)
Asegúrese de tener estas definiciones en la etiqueta raíz de su archivo xaml (en su caso, la etiqueta de la ventana):
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
Luego, en cualquier parte de la xaml (incluida la etiqueta raíz) puede agregar esto:
d:DataContext="{d:DesignInstance myNamespace:MyViewModel, IsDesignTimeCreatable=True}"
Ahora solo necesita asegurarse de inicializar los valores en un constructor o tener valores predeterminados para las propiedades.
Si necesita ejecutar una lógica especial para el modo de diseño, mire esta respuesta .
El número de versión de datos enlazados aparece de la siguiente manera:
<Window <!-- ... --> DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Grid>
<TextBlock>
Version is:
<Run Text="{Binding Version, Mode=OneWay}"></Run>
and advancing...
</TextBlock>
</Grid>
</Window>
y funciona durante el tiempo de ejecución.
¿Cómo puedo verlo durante el tiempo de diseño en el editor XAML en Visual Studio 2012? Solo veo:
Version is: and advancing...
en lugar de:
Version is: 5.2.2 and advancing...
EDITAR - Mi solución:
La respuesta de Jure a continuación funciona, pero terminé usando una técnica de código estático de modelo de vista ficticio , que funciona mejor para mí ya que los datos son una burla del tipo de modelo de vista real:
d:DataContext="{Binding Source={StaticResource DesignViewModel}}" ...
Respuesta corta, no puedes hacerlo de esa manera. El diseñador de VS no está ejecutando el código de tiempo de ejecución y su enlace no se resolverá en el tiempo de diseño. Pero hay soporte para los datos de tiempo de diseño a través de la extensión d:DesignData
.
Puede establecer el contexto de datos de diseño de esta manera:
<Window
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DataContext="{d:DesignData Source=/SampleData/SomeSampleData.xaml}"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Grid>
<TextBlock>
Version is:
<Run Text="{Binding Version, Mode=OneWay}"></Run>
and advancing...
</TextBlock>
</Grid>
</Window>
d:DataContext={d:DesignData....
establece el tiempo de diseño DataContext
que se usará para resolver enlaces en la superficie del diseñador de VS. Puede configurarlo en un archivo xaml que contenga sus datos de muestra. El archivo xaml de muestra se debe compilar con la acción de compilación "DesignData".
Vea más aquí: http://blogs.msdn.com/b/wpfsldesigner/archive/2010/06/30/sample-data-in-the-wpf-and-silverlight-designer.aspx