我有3个控件放在我的WPF Window
上,每个控件包含一个或多个TextBox
和Button
,当选择一个新的控件时,我想将IsDefault
更改为该按钮。我目前所做的是当TextBox
的GotFocus
事件被解雇时,我将我的Button
更改为IsDefault
。这是第一次工作,但当我从一个控件更改为另一个控件时,回到第一个选定的控件时,第二个控件IsDefault
仍然为true,并且当按下Enter时,它会触发错误控件上的Click
事件。删除WPF IsDefault
有没有一种方法可以清除我窗口上的所有IsDefault
属性,或者对于我目前的这种做法,有什么更好的解决方案?例如,看下面的图片,当输入被按下时,带有“...”的Button
被激发而不是快速搜索。
XAML(更新)
<odc:OdcTextBox Text="{Binding AccountNumber, UpdateSourceTrigger=PropertyChanged}" MinWidth="100" Name="txtAccountNumber" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="{Binding TextMargin}">
<odc:OdcTextBox.Buttons>
<Button IsDefault="{Binding ElementName=txtAccountNumber, Path=IsKeyboardFocusWithin}" Width="30" Style="{StaticResource DionysusButton}" x:Name="btnCdv" Content="...">
</Button>
</odc:OdcTextBox.Buttons>
</odc:OdcTextBox>
也许不是最好的解决方案,但它完美的工作,使用像其他答案一样的绑定将是理想的,但它的工作原理! Thanx –
同意这不是最好的解决方案,其他答案肯定是更优雅,这就是为什么我upvoted那一个。这是一个耻辱,你不能得到它的工作。 – Joe