0

わかりました。Google でこのトピックについて非常に不満を感じています。適切な質問をする人がいないからです。

Windows Phone 8 アプリケーションにテキストボックスがあります。

そのテキストボックスをクリックすると、SIPキーボードがポップアップします(その部分はOSによって行われます)。

今私がやりたいことは、テキストボックスをクリックすると、SIPを開いたくないので、別のページに移動するためですが、ユーザーがテキストボックスの情報を編集できるため、ボタンにすることはできません。他のページからデータを選択しました。

Windows Phone のテキスト ボックスに、キーボードのポップアップを制限するプロパティがありますか?

見栄えが悪いため、読み取り専用にすることはできません。ユーザーには、テキストボックスが編集不可として表示されます。

リンク、コード、または以前の質問をお待ちしております。

編集: 他のコントロールにフォーカスを設定しようとしましたが、十分な速さで行われないため、キーボードもポップアップします!

物理的なコントロールはありません。コントロールはすべて動的であり、Web サービスを介して送信されるものに依存します。

これがサンプルです!:

 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つあるといいのですが

よろしく

4

1 に答える 1

2

簡単なロジックでこれを達成できると思います。だからあなたがしたいのは、式ブレンドを使用して透明なボタンを作成することです。そのボタンをテキストボックスの上に配置します。ボタンの ZIndex プロパティをバインドします。ページに移動するたびに、テキスト ボックスに値が含まれていることを確認します。はいの場合は、ボタンの ZIndex を TextBox の後ろに移動するように設定します。条件が悪い場合は、逆を行います。これで問題が解決すると思います。

于 2013-09-09T12:24:14.770 に答える