在Windows Phone上点击文本框上的键盘

时间:2013-09-09 12:06:23

标签: c# textbox windows-phone-8 keyboard

好吧,所以我现在对谷歌这个话题非常沮丧,因为没有人问正确的问题。

我的Windows Phone 8应用程序上有一个文本框。

现在,当我点击该文本框时,会弹出SIP键盘(我得到的部分是由操作系统完成的。)

现在我想要做的是,一旦我点击文本框我不想打开SIP,因为它会导航到另一个页面,但我不能使它成为一个按钮,因为用户可以编辑该信息文本框一旦从其他页面中选择了数据。

现在Windows手机文本框上有一个属性会限制键盘弹出吗?

并且我无法将其设为只读,因为这看起来不太好,然后用户会看到文本框不可编辑。

任何链接,代码或以前的问题都将不胜感激!

编辑:我也尝试过专注于其他一些控件,但它的发生速度不够快,键盘也会弹出!,

我没有物理控件,我的控件都是动态的,取决于发送的内容 网络服务:

这是一个样本! :

 else if (field.CtlType == WFCoreLib.DataModels.Generic.FieldAttributes.ControlType.ctFinder)
                        {
                            TextBox txtFindercontent = new TextBox();
                            txtFindercontent.HorizontalAlignment = System.Windows.HorizontalAlignment.Right;
                            //txtFindercontent.Text = field.FieldDescLoc.ToString();
                            txtFindercontent.SetValue(Grid.ColumnProperty, 1);
                            txtFindercontent.SetValue(Grid.RowProperty, count);
                            txtFindercontent.Width = 220;
                            txtFindercontent.FontSize = 20;
                            txtFindercontent.TextWrapping = TextWrapping.Wrap;
                            txtFindercontent.IsHitTestVisible = true;
                            //txtFindercontent.LostFocus += txtcontent_LostFocus;
                            txtFindercontent.Name = "fndDescription" + count.ToString();
                            txtFindercontent.Tag = field.MaxValue + "," + field.FieldDescLoc + "," + field.IsRequired + "," + count + "," + blockindex + "," + field.FieldID + "," + field.ColumnName + "," + field.FieldCode;
                            txtFindercontent.GotFocus += txtFindercontent_GotFocus;

                            if (field.FieldType == WFCoreLib.DataModels.Generic.FieldAttributes.DataType.dtInteger || field.FieldType == WFCoreLib.DataModels.Generic.FieldAttributes.DataType.dtDouble)
                            {
                                InputScope scope = new InputScope();
                                InputScopeName name = new InputScopeName();

                                name.NameValue = InputScopeNameValue.Number;
                                scope.Names.Add(name);

                                txtFindercontent.InputScope = scope;
                            }

PS:Apple / iPhone文本框具有限制键盘的属性。我希望WP8还有一个

此致

1 个答案:

答案 0 :(得分:2)

我认为你可以通过一个简单的逻辑来实现这一点。所以你想要做的是,使用表达式混合创建一个透明按钮。将该按钮放在文本框上方。绑定按钮的ZIndex属性。每当您导航到页面时,检查文本框是否包含任何值。如果是,则将按钮的ZIndex设置为移动到TextBox后面。如果条件错误,反过来。我认为这将解决您的问题。