validatesOnExceptions в текстовом поле - PullRequest
0 голосов
/ 09 июля 2020

В настоящее время у меня есть ряд текстовых полей, и я хотел бы проверить, что в них набирается ((есть 3 x 7 текстовых полей, в зависимости от недель).

Я пытаюсь использовать ValidatesOnExceptions, например это:

https://docs.microsoft.com/en-us/dotnet/api/system.windows.data.binding.validatesonexceptions?view=netcore-3.1

Object WeekValues:

    public string RepasLundi
    {
        get
        {
            return _RepasLundi;
        }
        set
        {
            _RepasLundi = value;

            if ((value == null) || (value == "") || (value == "A") || (value == "G") || (value == "P"))
            {
                //its ok
            }
            else
            {
                throw new ArgumentException("Valeur invalide");
            }
            RaisePropertyChanged(nameof(RepasLundi));
        }
    }
    private string _RepasMardi;
    public string RepasMardi
    {
        get
        {
            return _RepasMardi;
        }
        set
        {
            _RepasMardi = value;

            if ((value == null) || (value == "") || (value == "A") || (value == "G") || (value == "P"))
            {
                //its ok
            }
            else
            {
                throw new ArgumentException("Valeur invalide");
            }

            RaisePropertyChanged(nameof(RepasMardi));
        }
    }

ViewModel:

    private WeekValues _PriseSemaine1;
    public WeekValues PriseSemaine1
    {
        get
        {
            return _PriseSemaine1;
        }
        set
        {
            if (value != _PriseSemaine1)
            {
                _PriseSemaine1 = value;
                RaisePropertyChanged(nameof(PriseSemaine1));
            }
        }
    }

WPF:

            <TextBox Grid.Row="2" Grid.Column="1" Width="20" Height="20" VerticalAlignment="Center" HorizontalAlignment="Center" HorizontalContentAlignment="Center" CharacterCasing="Upper" Background="{Binding ErrorColor}" Text="{Binding PriseSemaine1.RepasLundi, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" MaxLength="1">
                <TextBox.Style>
                    <Style TargetType="TextBox">
                        <Style.Triggers>
                            <Trigger Property="Validation.HasError" Value="true">
                                <Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors)[0].ErrorContent}"/>
                            </Trigger>
                        </Style.Triggers>
                    </Style>
                </TextBox.Style>
            </TextBox>

Я думал, что это сработает, но в консоли появилось сообщение об ошибке: «System. Windows .Data Error: 8: Невозможно сохранить значение из цели обратно в источник».

Есть какие-нибудь советы по этому поводу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...