Estoy atando un cuadro de texto a un objeto, así:Cómo usar d: DesignInstance con tipos que no tienen un constructor predeterminado?
<TextBlock d:DataContext="{d:DesignInstance ViewModel:TaskVM }"
Text="{Binding Title}" MouseLeftButtonDown="TextBlock_MouseLeftButtonDown">
</TextBlock>
Ahora me pregunto cómo hacer que mostrar los datos simulados durante el diseño. He intentado hacer algo así:
<TextBlock Text="{Binding Path=Title}" MouseLeftButtonDown="TextBlock_MouseLeftButtonDown">
<d:DesignProperties.DataContext>
<ViewModel:TaskVM Title="Mock"/>
</d:DesignProperties.DataContext>
</TextBlock>
Sin embargo, ya que no tiene TaskVM ctor defecto, me estoy haciendo un "No constructor por defecto" que se encuentra.
Sé que cuando uso d:DataContext="{d:DesignInstance ViewModel:TaskVM }"
crea un tipo de datos simulado. ¿Hay alguna manera de establecer las propiedades de este tipo de simulacro?
Gracias!
Me gusta esa idea :). La herencia me permitirá omitir la recreación de todas las propiedades. Todavía preferiría que hubiera una forma incorporada de manipular el objeto simulado creado por WPF. SÍ crea un objeto simulado, ¿no? Dice en la documentación de MSDN: d: IsDesignTimeCreatable \t En la extensión de marcado d: DesignInstance, especifica que la instancia de diseño se crea a partir de su tipo, en lugar de un tipo sustituto generado por el diseñador. – VitalyB
@VitalyB - Sí, tienes razón.Parece que puede establecer 'd: IsDesignTimeCreatable' en' False' y se creará un tipo sustituto para usted en tiempo de ejecución (utilizando su tipo TaskVM como una "forma"). –
Exactamente. Lo cual es bastante desalentador ya que no puedo establecer propiedades de ese tipo sustituto. – VitalyB