[英]WPF DefaultButton not working as expected
我在窗體上具有以下控件集:
它們每個都是單獨的用戶控件,並且按鈕設置為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"
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.