C# C:关于WPF文本框焦点的工具提示
这是我的密码C# C:关于WPF文本框焦点的工具提示,c#,wpf,textbox,tooltip,onfocus,C#,Wpf,Textbox,Tooltip,Onfocus,这是我的密码 private void txtPassword_PasswordChanged(object sender, RoutedEventArgs e) { Boolean Capslock = Console.CapsLock; if (Capslock == true) { txtPassword.ToolTip = "Caps Lock is On.";
private void txtPassword_PasswordChanged(object sender, RoutedEventArgs e)
{
Boolean Capslock = Console.CapsLock;
if (Capslock == true)
{
txtPassword.ToolTip = "Caps Lock is On.";
}
}
我正在尝试获取工具提示,以便在WPF控件上的TextChanged事件上显示。如果Caps Lock处于启用状态,则当我将鼠标移到txtPassword控件上时,上述代码工作正常,并显示带有上述文本的工具提示
但我正在寻找的东西,将显示工具提示时,你开始键入无论鼠标在TXT密码控制或没有。比如当TXT密码控件处于焦点或类似状态时
任何帮助都将不胜感激。您需要使用工具提示控件,并将StaysOpen和IsOpen属性设置为true,这将使工具提示保持打开状态,直到您将其关闭,IsOpen=false可能在lostFocus上 代码如下:
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
Boolean Capslock = Console.CapsLock;
if (Capslock == true)
{
ToolTip toolTip = new ToolTip();
toolTip.Content = "Caps lock is on";
toolTip.StaysOpen = true;
toolTip.IsOpen = true;
(sender as TextBox).ToolTip = toolTip;
}
}
您需要使用工具提示控件,并将StaysOpen和IsOpen属性设置为true,这会使工具提示保持打开状态,直到您在lostFocus上通过IsOpen=false将其关闭 代码如下:
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
Boolean Capslock = Console.CapsLock;
if (Capslock == true)
{
ToolTip toolTip = new ToolTip();
toolTip.Content = "Caps lock is on";
toolTip.StaysOpen = true;
toolTip.IsOpen = true;
(sender as TextBox).ToolTip = toolTip;
}
}
你可能想考虑使用这个。
XAML:你可能想考虑使用这个。
XAML:使用工具提示而不是工具提示。最好在用户开始键入之前进行检查。好的,我将其更改为GotFocus事件,但问题仍然相同。不使用鼠标悬停显示工具提示。private void txtPassword_GotFocusobject sender,RoutedEventArgs e{Boolean Capslock=Console.Capslock;如果Capslock==true{txtPassword.ToolTip=Caps Lock处于启用状态。}}您可以尝试挂接到GotKeyboardFocus,LostKeyboardFocus,KeyUp events并检查Capslock并将工具提示的IsOpen属性设置为true以显示它。使用工具提示而不是工具提示。最好在用户开始键入之前进行检查。好的,我将其更改为GotFocus事件,但问题仍然是一样的。不使用鼠标悬停显示工具提示。private void txtPassword_GotFocusobject sender,RoutedEventArgs e{Boolean Capslock=Console.Capslock;如果Capslock==true{txtPassword.ToolTip=Caps Lock处于启用状态。}}您可以尝试挂接到GotKeyboardFocus,LostKeyboardFocus,设置关键帧事件并检查Capslock,然后将工具提示的IsOpen属性设置为true以显示它。已尝试此操作。喜欢弹出式方法而不是工具提示。用这个。谢谢,我试过这个。喜欢弹出式方法而不是工具提示。用这个。谢谢
private void txtPassword_TextChanged(object sender, TextChangedEventArgs e)
{
Boolean Capslock = Console.CapsLock;
if (Capslock == true)
{
PopupTextBlock.Text = "Caps Lock is On.";
txtPasswordPopup.IsOpen = true;
}
else
{
txtPasswordPopup.IsOpen = false;
}
}