将文本框拆分为4个单独的文本框但保存在一个EF字段中

时间:2013-04-23 10:26:39

标签: c# wpf mvvm textbox concatenation

标题并没有真正解释我的情况,所以我会尝试解释我能做到的最佳方式。

我最近学会了如何multi-bind使用listviewconcatenate两个fields并将它们与“,”分开,这相对容易实现。但是现在,我想要实现一些更高级的东西,但不确定是否有可能做到这一点,我不太确定如何实现它,因此希望得到一些帮助或建议或指导来帮助我实现这一目标: )。

我正在使用Entity framework创建一个实体模型,而某些表格比我预期的要大,我不希望添加更多的字段然后需要(在这种情况下)。

我的一个要求是,我有textbox,不超过13个字符。但是,我现在被要求获得类似于下图的内容;

enter image description here

正如您从图片中看到的那样,顶部的textbox是我目前所拥有的,但我想找到一种方法来分割textbox,如下所示(包含; 123 PA) ...)。

回到我的问题,是否有办法concatenate textbox在一个应用程序中包含可能的进一步4 textboxes而且它们都保存在一个field内{{1}} EF模型减少表中字段的数量?

这有点雄心勃勃,还是我过度思考这个问题而且实现这个目的的方法有很多相似之处?

提前感谢您的帮助。

编辑:

最后,我创建了一个单独的表来实现这一目标。快速简便的修复。尽管如此,仍然是一个有趣的问题,仍然对实现它的方式感到好奇。

1 个答案:

答案 0 :(得分:1)

我会为此写自己的UserControl。它应该相当简单。

基本上,您定义了GridStackPanel并添加了您需要的TextBox个w / e号码。然后,在后面的代码中定义依赖项属性,例如Result,它将作为这些texbox的Text属性的串联。之后,您需要做的就是进行一些事件处理:每当Result属性发生任何变化时更新TextBox.Text,并在用户填写TextBox之间交换键盘焦点。完成后,您只需将视图模型属性绑定到Result porperty。