code4Better Ответов: 1

Я не могу связать textbox с моим классом модели


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

Что я уже пробовал:

общественности частичного класс form1 : форма
{
открытый form1()
{
метод InitializeComponent();
}

частная btnBind_Click недействительным(объект отправителя, EventArgs в электронной)
{
Модель objModel = новая модель();
txtUserName.Привязка данных.Добавить("текст", objModel, модель.имя пользователя);
}

частный недействительными методе form1_load(объект отправителя, EventArgs в электронной)
{
txtUserName.Текст = Модель.имя пользователя;
}
}

модель классов
{
статическая строка userName = string.Пустой;
публичное статическое строковое имя пользователя {
получить {
вернуть имя пользователя;
}
набор {
имя пользователя = значение;
}
}
}

1 Ответов

Рейтинг:
12

Karthik_Mahalingam

попробовать это

public class Model
  {
      public string UserName { get; set; }
  }


private void btnBind_Click(object sender, EventArgs e)
       {
           Model objModel = new Model();
           objModel.UserName = "Abc";
           txtUserName.DataBindings.Add("Text", objModel, "UserName");
       }


code4Better

Спасибо за ответ, Картик.
В вашем упомянутом сценарии происходит то, что "abc" отображается в текстовом поле. Но что мне нужно, так это то, что когда-либо я пишу в текстовом поле, свойство модели должно обновляться, когда я вызываю какую-то кнопку ok.

Karthik_Mahalingam

вы хотите использовать ту же модель ?
частный недействительными btn_Click(объект отправителя, EventArgs в электронной)
{
Модель objModel = новая модель();
objModel.Имя пользователя = txtUserName.Текст;
}

code4Better

Да.
Я не хочу использовать его напрямую, как objModel.Имя пользователя = txtUserName.Текст;
Я хочу использовать только с привязкой.

Karthik_Mahalingam

Модель objModel = новая модель();
частный недействительными методе form1_load(объект отправителя, EventArgs в электронной)
{

objModel.Имя Пользователя = " Abc";
txtUserName.DataBindings. Add ("Text", objModel, " UserName");
}

частный недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
Ящик для сообщений.Show (objModel.имя пользователя);
}

code4Better

Спасибо, Картик.
Этот код работает и сейчас.
Еще раз спасибо за вашу помощь.

Karthik_Mahalingam

добро пожаловать code4Better :)