Практическое руководство связывает управление TextBox с экземпляром StringBuilder?

После некоторой работы я нашел решение. Просто поместите или измените приведенный ниже код в middleware.json file

"parse": {
    "express-xml-bodyparser": {"params": { "explicitArray": false , "explicitRoot":  false}}
},
8
задан user51710 5 January 2009 в 16:38
поделиться

6 ответов

Вы могли всегда выставлять свойство, это - возвраты метода считывания ToString () Stringbuilder. Форма могла затем связать с этим свойством.

private StringBuilder _myStringBuilder;

public string MyText
{
  get { return _myStringBuilder.ToString(); }
}
7
ответ дан 5 December 2019 в 08:26
поделиться

Кажется, что мой предыдущий ответ не был сформулирован очень хорошо, поскольку многие люди неправильно поняли точку, я делал, таким образом, я попробую еще раз принимать во внимание комментарии людей.

Просто, потому что Строковый объект неизменен, не означает, что переменная Строки типа не может быть заменена. Если объект имеет свойство Строки типа, то присвоение нового Строкового объекта к тому свойству заставляет свойство изменяться (в моем исходном ответе, я назвал это переменным видоизменением, по-видимому, некоторые люди не соглашаются с использованием термина "видоизмен" в этом контексте).

WPF привязка данных системы может связать с этим свойством. Если это будет уведомлено, что свойство изменяется через INotifyPropertyChanged, то это обновит цель привязки, таким образом позволяя многим текстовым полям связать с тем же свойством и всем изменением на обновлении свойства, не требуя никакого дополнительного кода.

Поэтому нет никакой потребности использовать StringBuilder в качестве запоминающего устройства для свойства. Вместо этого можно использовать стандартное Свойство строки и реализовать INotifyPropertyChanged.

public class MyClass : INotifyPropertyChanged
{
    private string myString;

    public string MyString
    {
        get
        { return myString; }
        set
        {
            myString = value;
            OnPropertyChanged("MyString");
        }
    }

    protected void OnPropertyChanged(string propertyName)
    {
        var handler = PropertyChanged;
        if (handler != null)
        { handler(this, new PropertyChangedEventArgs(propertyName)); }
    }

    #region INotifyPropertyChanged Members

    public event PropertyChangedEventHandler PropertyChanged;

    #endregion
}

WPF может связать с этим и автоматически возьмет и изменения, внесенные в значении свойства. Нет, Строковый объект не видоизменился, но Свойство строки видоизменилось (или изменилось, если Вы предпочитаете).

9
ответ дан 5 December 2019 в 08:26
поделиться

Вы могли наследовать текстовое поле и переопределить текстовое свойство, чтобы получить и записать в строкового разработчика.

1
ответ дан 5 December 2019 в 08:26
поделиться

Проще говоря, нет. Текстовое свойство только берет Строку. Так безотносительно источника, необходимо будет преобразовать его в Строку.

Чтобы позволить Вам легко установить его однажды для многих текстовых полей, у Вас может быть свойство класса, которое всегда устанавливает все значения текстового поля...

public string MyString
{
  get
  {
   ///... 
  }
  set 
  {
    textbox1.Text = value;
    textbox2.Text = value;
    //...
  }
}
1
ответ дан 5 December 2019 в 08:26
поделиться

Я бы обернул StringBuilder в пользовательский класс с методом Add , методом Text и событием OnChanged .

Подключите метод Add , чтобы при он вызывается, добавляет текст в экземпляр StringBuilder и запускает событие. Затем, когда событие происходит, используйте метод Text , чтобы создать ToString в StringBuilder .

public class StringBuilderWrapper
{
   private StringBuilder _builder = new StringBuilder();
   private EventHandler<EventArgs> TextChanged;
   public void Add(string text)
   {
     _builder.Append(text);
     if (TextChanged != null)
       TextChanged(this, null);
   }
   public string Text
   {
     get { return _builder.ToString(); }
   }
}
0
ответ дан 5 December 2019 в 08:26
поделиться

Можно связать текстовое свойство TextBox к свойству строки... Строковый объект неизменен, но переменная Строки типа совершенно изменяема...

string mutable = "I can be changed";
mutable = "see?";

Необходимо было бы обернуть его в объекте, который реализует INotifyPropertyChanged, как бы то ни было.

-5
ответ дан 5 December 2019 в 08:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: