2016-04-27 55 views
0

我有一個綁定到數據源(POCO類)的小數屬性的控件。我還設置了控件'Databindings',以便將控件格式化爲貨幣。例如。如何在綁定到數據源時獲取控件的原始值?

TextBox1.DataBindings.Add(new Binding("Text", this.bindingSource, "Amount", true, DataSourceUpdateMode.OnValidation, "", "C2")); 

通過我知道的是,控制被綁定,並將其綁定到數據源的哪個屬性的DataBindings

是否可以從控件本身獲取原始值(即沒有任何格式的值)?

回答

0

你可以使用BindingSource的價值,但我想你想使它更具活力和獨立BindingSource,這樣你就可以獲取數據源的控制背後的原始值是這樣的:

var binding = this.textBox1.DataBindings[0]; 
var obj = this.textBox1.BindingContext[binding.DataSource].Current; 
var value = TypeDescriptor.GetProperties(obj)[binding.BindingMemberInfo.BindingField] 
          .GetValue(obj); 

這樣,數據源類型無關緊要,您可以使用BindingSource,DataTableList<T>

相關問題