Windows phone 8 禁用聚焦于文本框的windows phone键盘

Windows phone 8 禁用聚焦于文本框的windows phone键盘,windows-phone-8,Windows Phone 8,我是Windows Phone的新手 在我的应用程序中,我有一个文本框,在这个文本框中,光标将在第一次输入时持续闪烁。我有一个自定义拨号板,可以从用户那里获取输入。所以我必须禁用Windows Phone键盘 在线搜索后,大多数解决方案都基于从文本框中移除焦点以隐藏键盘 在我的例子中,它不会发生,因为键盘会立即弹出并隐藏 任何帮助都将不胜感激 另一件事:我还需要光标在文本框中闪烁。这可能会帮助您创建文本框的GotFocus事件 GotFocus="input_GotFocus" private

我是Windows Phone的新手

在我的应用程序中,我有一个文本框,在这个文本框中,光标将在第一次输入时持续闪烁。我有一个自定义拨号板,可以从用户那里获取输入。所以我必须禁用Windows Phone键盘

在线搜索后,大多数解决方案都基于从文本框中移除焦点以隐藏键盘

在我的例子中,它不会发生,因为键盘会立即弹出并隐藏

任何帮助都将不胜感激


另一件事:我还需要光标在文本框中闪烁。

这可能会帮助您创建文本框的GotFocus事件

GotFocus="input_GotFocus"
private void input_GotFocus(object sender, RoutedEventArgs e)
{
this.Focus();
}

一种解决方法是根本不使用文本框。相反,你可以使用一个简单的文本块,点击文本块,打开你的自定义键盘。您可能可以切换键盘的可见性以隐藏/取消隐藏它。按键盘上的键,更新文本块的文本

编辑:为此添加一个示例代码(以及游标实现)

用于自定义文本框实现的Xaml:

<Border x:Name="brdTextBox" Background="White" BorderBrush="Blue" HorizontalAlignment="Stretch" Height="100"
                Margin="10">
                <StackPanel Orientation="Horizontal">
                    <TextBlock x:Name="txtEnterText" FontSize="28" Foreground="Black" Margin="0"></TextBlock>
                    <TextBlock x:Name="txtCursor" FontSize="28" Foreground="Black" Text="|" Margin="0"></TextBlock>
                </StackPanel>
            </Border>
在此之后,您可能可以在边框点击时打开键盘,在键盘的按键事件中,填充文本块。您可以调整计时器的持续时间和间隔,使其与实际光标非常相似


希望有帮助。

您能提供一些代码片段吗?我知道这一点,但在我的情况下,它不起作用。这将从textbox中删除焦点,但我需要在键盘隐藏的情况下闪烁光标的焦点。Textblock不可选择…因此无法在Textblock中闪烁光标或更改光标位置。
Timer timer = new Timer((obj) => 
        {
            Dispatcher pageDispatcher = obj as Dispatcher;

            pageDispatcher.BeginInvoke(() => 
            {
                if (txtCursor.Text == "|")
                {
                    txtCursor.Text = "";
                }
                else
                {
                    txtCursor.Text = "|";
                }
            });

        }, this.Dispatcher, 1000, 1000);