Зациклилась привязка - почему так происходит?

Рейтинг: 0Ответов: 0Опубликовано: 20.06.2023

Зациклилось свойство

Как делать правильно ?

Свойство M:

    [ObservableProperty]
    private List<string> input;

Свойство VM:

    public string Input
    {
        get => ListToString(_myModel.Input);
        
        set
        {
            _myModel.Input = StringToList(value);
            OnPropertyChanged();
        }
    }

Метод обрабатывающий события от M в VM:

    private void MyModelPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
    {
        switch (e.PropertyName)
        {
            case "Input":
                OnPropertyChanged(nameof(Input));
                break;

            default:
                throw new Exception("Неизвестный аргумент");
        }
    }

Методы VM:

    private string ListToString(List<string> list)
    {
        if (list != null)
        {
            StringBuilder stringBuilder = new();

            foreach (var item in list)
            {
                if (!string.IsNullOrEmpty(item))
                {
                    stringBuilder.AppendLine(item);
                }
            }
            return stringBuilder.ToString();
        }
        else
        {
            return "";
        }
    }


    private List<string> StringToList(string text) 
    {
        return text.Split('\r').ToList();
    }

В V -> Microsoft.Maui.Controls.Editor

        <Editor Text="{Binding Input}"
                Margin="10,0" 
                WidthRequest="300"
                HeightRequest="300" 
                AutoSize="TextChanges"/>

Ответы

Ответов пока нет.