我正在尝试使用IFormatProvider来自定义一些数据绑定,但是IFormatProvider类从未被调用。我在我的自定义格式化类的两个函数开头设置了断点,但是通过数据绑定它们都没有被触发。当我使用String.Format和我的自定义格式化类时,它可以正常工作。
我正在使用.Net 2.0和winforms。
这是我进行数据绑定的方式:
我正在使用.Net 2.0和winforms。
这是我进行数据绑定的方式:
label1.DataBindings.Add("Text", textBox1, "Text", true,
DataSourceUpdateMode.OnPropertyChanged,
"<NULL>","{0:H}",new MyFormat());
这是我如何使用String.Format:
string test =(string.Format(_superFormat, "{0}", "this is my arg"));
这是我的自定义格式化类:
class MyFormat : IFormatProvider, ICustomFormatter
{
string ICustomFormatter.Format(string format, object arg, IFormatProvider formatProvider)
{
string result = ((string)arg).ToUpper();
return result ;
}
object IFormatProvider.GetFormat(Type formatType)
{
if (formatType == typeof(ICustomFormatter))
return this;
else
return null;
}
}