2012-01-05 23 views
0

我想爲我的WPF應用程序中的所有文本框實現SelectAll(文本)功能。我發現如何做到這一點here。但是,我的表單上的第一個TextBox不會自動聚焦。我試圖通過簡單地使用firstTextBox.Focus來修復Window_Loaded事件處理程序中的問題。這是有效的,但是TextBox的Text屬性是通過綁定設置的,看起來這是在Window_Loaded事件之後發生的。所以,我最終得到了一個最初關注的文本框,但沒有選擇它的文本。看來我需要聯繫到不同的事件。哪一個?如何在通過綁定設置文本後將焦點設置到文本框?

+0

你能爲你的綁定添加一些信息/代碼嗎?你使用mvvm還是隱藏代碼。沒有這些信息,我會說你設置datacontext後設置焦點。 – blindmeis 2012-01-06 07:16:15

+0

@blindmeis:對我來說太簡單了;-)它的工作原理!讓你的評論成爲一個答案,我會接受它。 – Dabblernl 2012-01-06 10:34:01

回答

1

你爲什麼不嘗試DataContextChangedEvent。帶來的焦點永遠是WPF的痛苦......我們必須在文件後面繼承代碼...

1

嘗試在窗口的XAML使用的FocusManager:

<Window x:Class="WpfApplication1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" 
    FocusManager.FocusedElement="{Binding ElementName=firstTextBox}"> 
    <Grid> 
     <TextBox Name="firstTextBox" /> 
    </Grid> 
</Window> 
+0

沒有運氣,第一個TextBox得到的焦點沒問題,但其後的文本被分配。 – Dabblernl 2012-01-05 20:58:20