
现在光标聚焦在TextBox中.如果我单击按钮(RemoveLostFocus),TextBox的Lost焦点事件将被触发.但我需要的是,TextBox的Lost Focus事件不应该触发.有没有办法这样做?
private void Window_Loaded(object sender, RoutedEventArgs e)
{
txtUserName.Focus();
}
private void UserName_LostFocus(object sender, RoutedEventArgs e)
{
if (txtUserName.Text.Length < 1)
{
MessageBox.Show("UserName should not be empty");
}
}
private void btnCancel_Click(object sender, RoutedEventArgs e)
{
this.Close();
anotherWindow.Show();
}
Run Code Online (Sandbox Code Playgroud)
您将要使用的FocusManager附加属性将焦点应用到TextBox的时候Button更改焦点
例:
<StackPanel>
<TextBox Name="txtbx" />
<Button Content="Click Me!" FocusManager.FocusedElement="{Binding ElementName=txtbx}"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
使用此解决方案,TextBox即使Button按下并且TextBox LostFocus不会触发事件,也将始终聚焦
| 归档时间: |
|
| 查看次数: |
4333 次 |
| 最近记录: |