c# - tutorial - Personalizar el formato de cadena en una convención de Caliburn.Micro atada a TextBox
caliburn micro documentation (1)
No hay forma posible de lo que quieres hacer. La forma más sencilla es que te proporciones a ti mismo. La segunda forma es exponer la propiedad de cadena en ViewModel y preformatearla en el getter.
Tengo un WPF TextBox
que está vinculado a una propiedad de número de vista. Distance
través de las convenciones de nomenclatura de Caliburn.Micro . Quiero poder personalizar el formato de cadena TextBox
mientras conserva el enlace de convención que Caliburn.Micro ha configurado. ¿Cómo debo hacer eso?
Desde mi modelo de vista :
public double Distance
{
get { return _distance; }
set
{
_distance = value;
NotifyOfPropertyChange(() => Distance);
}
}
Desde mi punto de vista :
<TextBox x:Name="Distance"/>
Cuando la Distance
no es cero, quiero mostrar el número con un conjunto fijo de decimales, y cuando la Distance
es cero, quiero que el cuadro de texto esté vacío.
Usando el enlace explícito, puedo vincular la propiedad TextBox.Text
a Distance
, y luego puedo configurar StringFormat
simultáneamente:
<TextBox x:Name="Distance" Text="{Binding Distance, StringFormat=0.000;;#}"/>
Sin embargo, el enlace de Text
explícito cortocircuitaría el enlace de convención de nomenclatura de Caliburn.Micro . ¿Es posible personalizar el formato de cadena sin tener que establecer simultáneamente la ruta de enlace de la propiedad TextBox.Text
, de modo que pueda confiar únicamente en Caliburn.Micro para manejar la vinculación de Distance
to- TextBox
?