【问题标题】:Hide TextBox Caret in Windows 8在 Windows 8 中隐藏文本框插入符号
【发布时间】:2012-10-04 11:03:05
【问题描述】:

我有一个文本框。它将代表一个数字。当我聚焦它时,我会显示边框以注意到它被选中并且我可以在上面写字。我截获了 OnKeyDown 事件来更改我按下的数字键的 TextBox 内容。

我想隐藏插入符号,因为我不希望插入符号“撒谎”,看起来我可以在 TextBox 中的任何位置写入。

我尝试使用IsReadOnly = true,它隐藏了插入符号。 KeyDown 事件继续工作(因为我使用了 AddHandler 函数),但是当我聚焦 TextBox 时,触摸键盘没有出现。

我想隐藏插入符号,但同时显示触摸键盘。

有什么建议吗?

【问题讨论】:

  • microsoft-metro 是一种 ui 风格而不是一种编程语言 - 你在 C#/VB/ 中编码什么???我怀疑您需要创建一个从TextBox 继承的控件并覆盖OnPaint 事件以抑制插入符号的绘制。一旦你告诉我们你使用的是什么语言,我们可以给你一些例子
  • 我正在使用 C# 进行编码。在microsoft-metro 中,您使用 Windows.UI 命名空间进行控件,它有一些限制。例如,它不存在任何 OnPaint 方法或等效方法。
  • 抱歉,我没有想到,你说得对——它是基于 WPF 的。
  • 如果文本框的行为与您描述的一样,为什么插入符号的位置很重要?无论用户将插入符号放在哪里,输入总是会导致相同的操作:内容将被替换。
  • 插入符号可以在数字之前或数字之后。它可能会使用户感到困惑。我更喜欢用画边框来标记整数。

标签: c# textbox windows-8 microsoft-metro caret


【解决方案1】:

不幸的是,这在 c#/xaml winRT 应用程序下是不可能的。 仅适用于使用 CaretBrush 属性的 wpf 或 silverlight 应用程序。

Check here for confirmation

【讨论】:

    【解决方案2】:

    您无法隐藏甚至更改 WinRT/Windows 8 中插入符号的颜色。您可以更改 TextBox 本身的背景颜色,但这并不能真正隐藏插入符号。

    【讨论】:

      【解决方案3】:

      我注意到当我给它一个背景颜色时,光标消失了。虽然这不是我想要的,但它会使光标消失。我在 8.1 工作。 示例:

      <TextBox Style="{StaticResource _textBoxStyle1}" 
      Text="{Binding AddRow.Code, Mode=TwoWay}" 
      Width="220" 
      BorderThickness="0" 
      Grid.Column="1" 
      VerticalAlignment="Center" 
      HorizontalAlignment="Center" 
      Margin="10,0" 
      Background="#40FFFFFF" 
      Foreground="BurlyWood"/>
      
      <Style TargetType="TextBox" x:Key="_textBoxStyle1" >
          <Setter Property="FontFamily" Value="{StaticResource _standardFont}" />
          <Setter Property="FontSize" Value="30" />
          <Setter Property="Height" Value="38" />
          <Setter Property="Foreground" Value="BurlyWood" />
          <Setter Property="Margin" Value="0" />
          <Setter Property="Padding" Value="0" />
      </Style>
      
      <x:String x:Key="_standardFont">Arial</x:String>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-07
        • 2021-08-26
        • 2010-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-22
        • 1970-01-01
        相关资源
        最近更新 更多