好的,这让我很疯狂。我有一个简单的WPF登录应用程序,其中包含一个登录按钮,如果用户按下键盘上的回车键,则希望单击该登录按钮。但是,这里有个问题,当用户按下Enter键时,我希望该按钮看起来像已被按下。
我使用了IsDefault = true; 它会登录,但由于正在处理中,按钮永远不会更改。
xaml:
<Button x:Name="SignInButton" Click="SignInButton_Click" Margin="277,523,265,-125" MaxWidth="100" MinWidth="100" IsDefault="False" Style="{StaticResource SignInButton}">
<Button.Effect>
<DropShadowEffect ShadowDepth="6"
BlurRadius="6"
Opacity="1"
Direction="315"
Color="gray" />
</Button.Effect>
<TextBlock x:Name="Connect" TextWrapping="Wrap" Text="Connect" TextAlignment="Center" Padding="0,2,0,0"/>
我甚至尝试仅更改文本:
private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
Connect.Focus();
Connect.Text = "Please Wait...";
SignInButton.IsDefault = true;
}
}
再次强调,这个方法可以运行,但是在按钮处理之后才会改变文本。