uso son sirve signos seguido reglas que puntuacion punto por para los ejemplos cuales coma cambiar cada c# .net wpf

c# - son - signos de puntuacion



Enlazar cuadro de texto para flotar valor. No se puede ingresar el punto/coma (3)

Cuando intento ingresar un DOT o un COMMA en un cuadro de texto, por ejemplo, 1.02 o 83,33 el cuadro de texto me impide ingresar dicho valor (y la entrada se vuelve roja). El cuadro de texto está enlazado a una propiedad flotante. ¿Por qué?

He enlazado un cuadro de texto a un Power de propiedad flotante de una clase que implementa INotifyPropertyChanged .

private float _power; public float Power { get { return _power; } set { _power = value; OnPropertyChanged("Power"); } }

En xaml

<TextBox Name="txtPower" Height="23" TextWrapping="Wrap" Text="{Binding Path=Power, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"></TextBox>

No tengo ninguna validación personalizada en este momento.

También probé decimal pero tampoco funciona. Para la cuerda todo funciona bien.


Intente agregar una definición StringFormat al enlace. Al igual que:

<TextBox Name="txtPower" Height="23" TextWrapping="Wrap" Text="{Binding Path=Power, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,StringFormat=N2}"></TextBox>


Si tiene .NET 4.5 o más reciente, intente

System.Windows.FrameworkCompatibilityPreferences.KeepTextBoxDisplaySynchronizedWithTextProperty = false;

Ver el blog de Sebastian Lux .


para solucionar problemas de puntos y comas en el cuadro de texto que se enlaza a decimal o flotante

1- UpdateSourceTrigger = LostFocus 2- add string format StringFormat={}{0:#.##} to escape unneeded zeros <TextBox Name="txtPower" Height="23" TextWrapping="Wrap" Text="{Binding Path=Power, Mode=TwoWay, UpdateSourceTrigger=LostFocus ,StringFormat={}{0:#.##}}"></TextBox>