我有一個WPF C#桌面應用程序,並彈出一個自定義對話框窗口。對話框窗口中有一個TextBox,我希望在彈出的時候儘量集中注意力,我可以在沒有移動和指向光標的情況下輸入內容。如何將TextBox對焦到自定義對話框中
的對話框寫在代碼的類背後(不XAML)是這樣的:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
CustomDialog dlg = new CustomDialog();
dlg.ShowBox(); // after the dialog box pops up, focus on the textbox.
}
}
public partial class CustomDialog : Window
{
....
TextBox tb = new TextBox();
....
public void ShowBox()
{
....
/* I want to focus on the tb as soon as CustomDialog.ShowBox() is called */
....
}
}
我已經嘗試了所有的追隨者,但是他們都沒有工作:
1. tb.Focus();
2. Keyboard.Focus(tb);
3. FocusManager.SetIsFocusScope(tb, true);
4. Dispatcher.BeginInvoke((ThreadStart)delegate
{
tb.Focus();
});
[ANSWER]
有無表示對話框之前進行對焦:
tb.Focus();
window.ShowDialog();
tb.UpdateLayout(); tb.Focus();試試這個 – Damith
你能看到UI中的Textbox嗎? –
不,不起作用。 – KMC