Можно ли привязать 2 свойства к 1 элементу управления?Конкретно я думаю номера телефонов.У меня есть объект, все свойства которого можно привязать непосредственно к одному элементу управления, но у объекта есть свойство areacode и phonenumber.Мои пользователи очень предпочитают замаскированное текстовое поле для ввода телефонных номеров, а не 2 отдельным.
Точно так же гораздо проще добавить привязку в загрузку формы и вызвать метод постоянных объектов .save () вместо того, чтобы заполнять элементы управления при загрузке и переустанавливать их при сохранении (и это логично.разъединение между свойствами данных в коде формы и несвязанными).
Итак, мне интересно, возможно ли это вообще.
Правка> решена благодаря Yoooder.
Код, который я написал для решения этой проблемы, выглядит следующим образом:
public class Person : PersistentBase
{
private string areaCode;
private string number;
public string AreaCode
{
get { return this.areaCode; }
set { Persist("AreaCode", this.AreaCode, value); } // pseudocode
}
public string Number
{
get { return this.number; }
set { Persist("Number", this.number, value); }
}
[NonPersistent]
public string PhoneNumber
{
get { return string.Format("{0}{1}", this.AreaCode, this.Number)); }
set
{
PhoneParts parts = SplitIntoParts(value); // uses regex etc.
// Validate full phone number
this.AreaCode = parts.AreaCode;
this.Number = parts.Number;
}
}
}
, и я связываюсь, как обычно
textBox1.DataBindings.Add(new Binding("Text", this.person, "PhoneNumber"));