フォームに次の一連のコントロールがあります。
それぞれが個別のユーザー コントロールであり、ボタンは に設定されていIsDefault="True"
ます。
「クイック検索」テキストボックスに入力して Enter キーを押すと、フォーカスがこのコントロールから「CDV チェック」の「...」ボタンにジャンプします。
これはどのように可能ですか?何か不足していますか、それとも WPF 内の問題ですか?
ありがとう
スタイル トリガーを使用してこれを実現できます。以下のサンプル xaml を参照してください。必要に応じて、リソースに共通のスタイルを移動できます。
<GroupBox Header="GroupBox1"
Height="100"
HorizontalAlignment="Left"
Margin="35,49,0,0"
Name="GroupBox1"
VerticalAlignment="Top"
Width="247">
<Grid>
<TextBox Height="23"
HorizontalAlignment="Left"
Margin="10,30,0,0"
x:Name="TextBox1"
VerticalAlignment="Top"
Width="120" />
<Button Content="Button1"
Height="23"
HorizontalAlignment="Left"
Margin="136,29,0,0"
Name="Button1"
VerticalAlignment="Top"
Width="75">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=TextBox1, Path=IsFocused }"
Value="True">
<Setter Property="IsDefault"
Value="True"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</Grid>
</GroupBox>
<GroupBox Header="GroupBox2"
Height="98"
HorizontalAlignment="Left"
Margin="35,155,0,0"
Name="GroupBox2"
VerticalAlignment="Top"
Width="247">
<Grid>
<TextBox Height="23"
HorizontalAlignment="Left"
Margin="10,29,0,0"
x:Name="TextBox2"
VerticalAlignment="Top"
Width="120" />
<Button Content="Button"
Height="23"
HorizontalAlignment="Left"
Margin="136,29,0,0"
Name="Button2"
VerticalAlignment="Top"
Width="75">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=TextBox2, Path=IsFocused }"
Value="True">
<Setter Property="IsDefault"
Value="True"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</Grid>
FocusManager.IsFocusScope="true"
各親レイアウト コントロールで設定してみてください。