0

我已经搜索了其他答案,但没有一个足够清楚。

我有一个问题,每当我单击将 InputScope 设置为“数字”的文本框时,数字键盘就会出现,但我输入的框消失了。

这是屏幕截图和我的代码。(我也覆盖了 Windows Phone 上的浅色/深色主题来做到这一点)

   <TextBox InputScope="Number" Height="72" HorizontalAlignment="Left"    

   Margin="159,190,0,0" Name="aTextBox" VerticalAlignment="Top" Width="227"     

   TextChanged="aTextBox_TextChanged" Foreground="Black" BorderThickness="0" 

   Background="White" />

在此处输入图像描述

4

2 回答 2

1

您的问题似乎是当 TextBox 具有输入焦点时存在不同的视觉状态,这与您尝试覆盖的手机主题相匹配。如果要与系统主题作斗争,则需要重新模板 TextBox。

在 Blend 中,在Objects and Timeline窗口中,右键单击TextBox并选择Edit Template | 编辑副本...

在出现的对话框中,命名您的新样式/模板以及您希望在 XAML 中创建它的位置。单击确定

您现在处于模板编辑模式。(如果要退出此模式,请单击“对象和时间轴”窗口顶部的“返回范围”按钮)

在此处输入图像描述

单击“状态”选项卡(如果不可见,请转到“窗口”| “状态”),您可以看到 TextBox 的每种模式(聚焦、未聚焦等)的所有不同视觉状态。当您单击每一个时,您会看到设计器中的 TextBox 发生了变化。选择每个状态并将颜色更改为您想要的颜色。

具体来说,请注意在Focused状态下,TextBox 背景是如何默认变为透明的。这是你的问题。将其更改为您想要的样子。

最后,我想建议您不要尝试覆盖 Windows Phone 上的 Light/Dark 主题,除非您将其完全替换为您自己的品牌/配色方案。这是一项繁重的工作,可能会让习惯于看到他们选择的主题的用户感到烦恼和困惑。

祝你好运!

于 2013-02-23T15:56:15.003 回答
0

试试这样:

<TextBox Text="NumericTextBox">
<TextBox.InputScope>
    <InputScope>
        <InputScopeName  NameValue="Number" />
    </InputScope>
</TextBox.InputScope>

于 2013-02-22T19:52:08.247 回答