2010-03-16 122 views
1

最近我使用数据绑定来加速我的C#winforms应用程序的开发。但是我发现,当控件是文本框或文本类型和文本类型的控件时,数据绑定才有用。如果事情变成单选按钮,图像控制或datagridview,我很难使用数据绑定。
例如,我很难将一组单选按钮绑定到数据库字段。
我很难预先处理数据库中的数据,然后绑定到datagridview控件(我知道我可以使用视图来做到这一点,但它不是那么方便)
(另一个例子:数据库中的值为1和0,我需要在绑定datagridview之前转换为女性和男性)如何在C#winforms开发中使用数据绑定?

所以我真的很想知道,你们大多数人会在何时使用数据绑定?你将如何使用它?

编辑: 我知道,我可以把这些东西分成不同的层,但我确实希望利用数据绑定的,但是当我使用它,我发现它是不是方便,有没有其他的遭受这个?

编辑: 但据我所知数据绑定就像是硬编码,其绑定控件直接到数据库字段,这是很难做出对这些用户界面之后

回答

1

你应该改变看看Model-View-ViewModel的发展风格。从非常简单的意义上说,ViewModel是模型(数据库中的数据)和视图(您的用户界面)之间的映射。 ViewModel应该几乎是纯粹的数据绑定到UI。您的业​​务逻辑发生在这里,它应该是非常可测试的。

+0

我已经阅读了Model-View-ViewModel,但我不太了解,虽然这个概念看起来不错,但在行动中,很难在我的代码,任何其他建议或您自己的经验中操作? – MemoryLeak 2010-03-16 13:19:22

1

最常见的,最好的。数据绑定可以为UI开发节省很多时间,但不应该试图“手动”绑定。但由于您调用的原因,将UI直接绑定到数据库并不是一个好习惯:预处理。

您应该在UI和数据层之间放置一个中间层,通常称为业务逻辑层,如Enigmativity所指。

因此,您可以在需要显示的外观下展示数据。也看看适配器设计模式。

+0

你的意思是“一个人不应该试图绑定”“。”? – MemoryLeak 2010-03-16 13:56:19

+0

对不起,我的法语习惯短语...我的意思是编码Control.Value = Data.Value.ToString(),并订阅Control.ValueChangeEvent来解析控制值,等等...是不是更好地说,像这样? – Seb 2010-03-16 14:01:10

+1

“手动”倾斜“硬编码”或ou quelque选择de similaire。 =) – 2010-03-16 14:05:43

相关问题