控件中数据模板禁用小键盘减号折叠

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控件中数据模板禁用小键盘减号折叠相关的知识,希望对你有一定的参考价值。

WPF里面自定义了TreeListView控件,在树列表项的数据模板中添加了文本框,当在文本框内输入小键盘的减号时,自动折叠;因为小键盘+与-符号是自动折叠的;可以对win7及以上系统 的文件夹列表树,进行验证;为了禁止输入时不折叠,使用以下代码实现

<controls:TreeListView.Columns>

   <GridViewColumn Header="列头名称">

    <DataTemplate>

        <TextBox Text="{Binding Name}" PreviewkeyDown="textBox_PreviewkeyDown"/>

    </DataTemplate>

   </GridViewColumn>

</controls:TreeListView.Columns>

后台代码

private void textBox_PreviewkeyDown(object sender,KeyEventArgs e)

{

  if(e.KeyStates==Keyborad.GetKeyStates(Key.Subtract))

  {

    TextBox t1=sender as TextBox;

    int index = t1.SelectionStart; //当前光标位置

    t1.Text = t1.Text.ToString().Insert(index,"-");

    e.Handled = True;//禁用小键盘减号折叠

  }

}

 

以上是关于控件中数据模板禁用小键盘减号折叠的主要内容,如果未能解决你的问题,请参考以下文章

在 MFC Web 浏览器控件中禁用键盘快捷键的方法

Android,有啥方法可以禁用使用键盘在日期选择器内写入?

WPF 禁用TextBox的触摸后自动弹出虚拟键盘

WPF 禁用TextBox的触摸后自动弹出虚拟键盘

在eclipse打开java文件中,方法几乎都是折叠状态,有无快捷键全部打开?

如何禁用所有 WPF 应用程序的虚拟键盘?