我在一个窗体上有以下一组控件:

它们中的每一个都是单独的用户控件,并且按钮被设置为IsDefault="True"。
在“快速搜索”文本框中键入内容并按enter时,焦点将从此控件跳转到"...“按钮上的"CDV检查“。

这怎麽可能?我是否遗漏了什么,或者这是WPF中的一个问题?
谢谢
发布于 2013-01-22 21:34:54
您可以使用样式触发器来实现这一点,请查看下面的示例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>发布于 2013-01-22 20:45:54
https://stackoverflow.com/questions/14457187
复制相似问题