我将表单上的许多控件绑定(bind)到从方法调用返回的对象,如下所示:
textBoxMoonBeam.DataBindings.Add(new Binding("Text", pi, "MoonBeam"));
注意:“pi”是 PlatypusInfo 类实例化的名称。
...但是当我获取 dateTime 值(根据定义包括附加到日期的时间)时,但我只想在控件中显示日期,我必须避开上面的绑定(bind)类型和相反,这样做:
textBoxDateAztecsFirstSawElvis.Text = pi.DateAztecsFirstSawElvis.ToString("d");
有没有办法像第一个示例一样绑定(bind)我的数据,并且仍然截断日期?
最佳答案
使用绑定(bind)源的Format
事件。
类似这样的事情:
Binding binding = new Binding("Text", pi, "DateAztecsFirstSawElvis", true);
binding.Format += binding_Format;
textBoxDateAztecsFirstSawElvis.DataBindings.Add(binding);
void binding_Format(object sender, ConvertEventArgs e) {
e.Value = ((DateTime)e.Value).ToShortDateString();
}
关于c# - 是否有一种不笨拙的方法来使用绑定(bind)数据执行特殊情况格式化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10639477/