我是Windows Phone的新手。
在我的应用程序中,我有一个文本框,其中光标将首先连续闪烁输入。我有一个自定义拨号盘来接收用户的输入。所以我必须禁用Windows Phone键盘。
在线搜索后,大多数解决方案都是基于从文本框中删除焦点来隐藏键盘。
在我的情况下,它没有发生,因为键盘弹出并立即隐藏。
任何帮助都将受到高度赞赏。
另一件事:我还需要光标在文本框中闪烁。
答案 0 :(得分:0)
这可以帮助您,创建文本框的GotFocus事件。
GotFocus="input_GotFocus"
private void input_GotFocus(object sender, RoutedEventArgs e)
{
this.Focus();
}
答案 1 :(得分:0)
一种解决方法可能是根本不使用TextBox。相反,您可以使用简单的TextBlock并点击TextBlock,打开自定义键盘。您可以切换键盘的可见性以隐藏/取消隐藏它。按键盘上的键,更新TextBlock的文本。
编辑:为此添加示例代码(也使用游标实现)
我的自定义TextBox实现的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>
后面的示例代码,它使用计时器来控制光标的刻度:
Timer timer = new Timer((obj) =>
{
Dispatcher pageDispatcher = obj as Dispatcher;
pageDispatcher.BeginInvoke(() =>
{
if (txtCursor.Text == "|")
{
txtCursor.Text = "";
}
else
{
txtCursor.Text = "|";
}
});
}, this.Dispatcher, 1000, 1000);
在此之后,您可以在边框点击时调出键盘,并在键盘上的键事件中填写文本块。您可以调整计时器持续时间和间隔,以实现与实际光标的完全相似。
希望它有所帮助。