2013-01-15 96 views
0

我不知道這是否有效,但有沒有機會將光標移動到一個位置(1空格鍵單擊)的Textbox自動。例如: 我自動運行Textbox移動內部應用程序和光標一個空格鍵XAML:將光標自動移動到文本框中

我的文本框:

<TextBox TextChanged="Searchbox_TextChanged" x:Name="Testing" Margin="2" Grid.Row="1" Text="{Binding SearchSmthg, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" VerticalContentAlignment="Center" Controls:TextboxHelper.ClearTextButton="True" Controls:TextboxHelper.Watermark="Search ..."/> 
+0

使用'CaretIndex',例如'':http://stackoverflow.com/a/2892988/352101 – Bolu

+0

有點不清楚,你是否想將光標移動到預定義的字符串中,或​​者你想在文本框中插入一個空格? – Tinsa

+0

對不起,我想插入一個空格,但沒有點擊空格鍵 – user655762

回答

0

使用CaretIndexFocusManager

<Window x:Class="WpfApplication1.Window1" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      Title="Window1" Height="300" Width="300"> 
     <Grid FocusManager.FocusedElement="{Binding ElementName=Focustext}"> 
      <TextBox x:Name="Focustext" Text=" " CaretIndex="1" MaxHeight="25" /> 
     </Grid> 
    </Window> 

編輯:添加一個GotFocus事件處理程序並設置CaretIndex=1那裏

XAML:

<TextBox GotFocus="Testing_GotFocus" 

代碼背後:

private void Testing_GotFocus(object sender, RoutedEventArgs e) 
     { 
      //make sure your Textbox is not empty.. 
      Testing.CaretIndex = 1; 
     } 
+0

CaretIndex不起作用可能是因爲我使用Text =「{Binding ....」? – user655762

+0

在設置'Text'後在你的代碼中設置'CaretIndex' – Bolu

+0

@ user655762,更新了我的答案 – Bolu

相關問題