読者です 読者をやめる 読者になる 読者になる

i++

プログラム系のメモ書きなど

WPF/XAML : Window 起動時のフォーカスを設定する / コードからフォーカスを設定する

Window 起動時のフォーカス設定

XAML の Window タグの属性に FocusManager.FocusedElement="{Binding ElementName=(UI要素に x:Name で付けた名前)}" をつけます。

<Window x:Class="MyProject.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window Title" SizeToContent="WidthAndHeight"
    FocusManager.FocusedElement="{Binding ElementName=SomeTextBox}" ResizeMode="NoResize">
    <...>
        <TextBox x:Name="SomeTextBox" .../>
    </...>
</Window>

FocusManager.FocusedElement アタッチされるプロパティ (System.Windows.Input)

プログラム中からのフォーカス設定

FocusManager.SetFocusedElement を使います。

// SomeTextBox は TextBox のインスタンス
FocusManager.SetFocusedElement(FocusManager.GetFocusScope(SomeTextBox), SomeTextBox);

c# - Set focus on textbox in WPF - Stack Overflow