我有一个12位数输入(数值)的文本框,根据这个数字,我将一些数据添加到datagrid中。当我第一次输入任何数字时,它可以正常工作,但是当我在向文本框输入任何新数字时向datagrid添加数据后,它只获得11位数。当我在调试模式下检查它时,我发现文本框有12位数字,包括开头的“\ r”。我不知道它来自何处并造成问题。
任何形式的帮助将不胜感激。感谢
这些是相关的代码行
GroupedManifest grpManifest = new GroupedManifest();
grpManifest.manifestNumber = txtManifestNumber.Text; // get number from textbox
LayoutManifest.DataContext = grpManifest; // set relevant data to layout
manifestList.Add(LayoutManifest.DataContext as GroupedManifest); // add data to list
dataGridGroupedManifest.ItemsSource = null;
dataGridGroupedManifest.ItemsSource = manifestList; // set data to itemsource of datagrid
txtManifestNumber.Text = string.Empty; // emtpy textbox
txtManifestNumber.Focus();// set focus on textbox
答案 0 :(得分:1)
我不知道代码,但从常识我可以说Silverlight Text Box使用/ r作为新行字符。所以我想当你按下输入时,新线仍然存在。
每当您向datagrid输入数据时,请尝试TextBox.Text = string.Empty;
。
如果这不起作用,请发布您的代码
答案 1 :(得分:0)
我必须解决我的问题的解决方案是..
我捕获了textInputStart事件,在那里我检查如果textbox.text包含“\ r \ n”然后将其设为空,之后我为其分配新输入。我仍然没有理由为什么在分配string.empty时仍然存在“\ r \ n”,但我的问题以这种方式解决了。