1. 程式人生 > >控件中數據模板禁用小鍵盤減號折疊

控件中數據模板禁用小鍵盤減號折疊

send 當前 void down 輸入 後臺 進行 listview prev

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;//禁用小鍵盤減號折疊

  }

}

控件中數據模板禁用小鍵盤減號折疊