我有3个字母的数据库单元格。

它通过DataBinding连接到我的textBox。

它可以工作,但我希望它是这样工作的:

使用DataBinding将这3个字母拆分到每个文本框中。但是怎么做呢?
发布于 2020-09-23 18:37:18
我描述了一种可能性,但有不同的方法可以达到相同的结果。我发现这个解决方案引入的副作用(如果有的话)比其他可能尝试使用Binding.Format的解决方案引入的副作用最少,并将值“推入”到单个字符文本框中。我不喜欢这样的副作用。
您没有指定它,但我假设您有一个"data“对象,其中公开了"Code_3”属性。我还假设这个对象实现了INotifyPropertyChanged,否则您将不得不解释如何具体实现数据绑定,我将相应地调整我的答案。
基本思想是在数据对象上再增加3个属性,"code_3“属性值的每个字符对应一个属性。另一个假设是它始终是3位数。
最后,将三个单字母文本框绑定到适当的三个新属性。
这些属性的实现方式可以简单地使用String.Left、String.Right或String.Mid,也可以使用code_3字符串值的索引(mycode3等)。
最后一步是确保从数据对象的"Code_3“属性的设置器中调用这3个属性的设置器。这将为每个字符引发INotifyPropertyChanged事件,导致文本框刷新。您可能希望将绑定设置为"OnValueChanged“。
https://stackoverflow.com/questions/64024568
复制相似问题