none
Após gerar mensagem de erro não consigo digitar valores corretamente no campo RRS feed

  • Pergunta

  • Bom dia

    Tenho a seguinte propriedade

            Private _VALOR As Decimal
    
            <Required(ErrorMessage:="Campo Nome Obrigatório")> _
            Public Property VALOR() As Decimal
                Get
                    Return _VALOR
                End Get
                Set(ByVal value As Decimal)
                    _VALOR = String.Format("{0:0.00}", value)
                    NotifyPropertyChanged("VALOR")
                End Set
            End Property
    

    Me ocorre o seginte problema ae o campo valor esta vazio e eu digitar 123,00 ou 123 ou 123,12 tudo ocorre normalmente o campo é formatado utilizando a "," na casa decimal.

    Agora se eu digitar um valor inválido tipo letra "A" ele vai me gerar um erro de campo inválido. Se eu for ate o campo apagar a letra A e digitar 123 ele vai me mostrar 231,00

    Alguem sabe como arrumar isso??  

    Acho que é importante informar que este textbox esta dentro de um DataForm

    quarta-feira, 11 de janeiro de 2012 13:44

Todas as Respostas

  • Não sei sobre ao erro, mas imagino que a melhor solução para o que você está tentando fazer é aplicar a formatação direto no Binding via XAML.

     

    Algo como isso:

    Converter C#:

     

    namespace UI.Silverlight.Converters
    {
    public class StringFormatterConverter : IValueConverter
    {
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
    if (parameter != null)
    {
    culture = new System.Globalization.CultureInfo("pt-BR");
    
    string formatterString = parameter.ToString();
    
    if (!string.IsNullOrEmpty(formatterString))
    {
    return string.Format(culture, formatterString, value);
    }
    }
    
    return value.ToString();
    }
    
    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
    throw new NotImplementedException();
    }
    }
    

     

    XAML

    <TextBlock FontSize=”15″ FontWeight=”Bold” VerticalAlignment=”Top”
    Text=”{Binding Produto.Preco, Converter={StaticResource FormatConverter}, ConverterParameter=’Preço: {0:c}’}”
    Visibility=”{Binding VisibilityPreco}”/>



     

    sexta-feira, 13 de janeiro de 2012 13:37