C# 自定义WPF密码框不接收鼠标单击事件
我的WPF表单有一个自定义密码框,此密码框似乎没有收到鼠标单击事件。单击它时,不会显示插入符号。以下是我对PasswordBox的风格:C# 自定义WPF密码框不接收鼠标单击事件,c#,wpf,C#,Wpf,我的WPF表单有一个自定义密码框,此密码框似乎没有收到鼠标单击事件。单击它时,不会显示插入符号。以下是我对PasswordBox的风格: <Style x:Key="password" TargetType="{x:Type PasswordBox}"> <Setter Property="Controller:PasswordBoxMonitor.IsMonitoring" Value="True" /> <Setter P
<Style x:Key="password" TargetType="{x:Type PasswordBox}">
<Setter Property="Controller:PasswordBoxMonitor.IsMonitoring" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type PasswordBox}">
<Border Name="Bd" Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}"
SnapsToDevicePixels="true">
<Grid>
<ScrollViewer x:Name="PART_ContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
<my:QETextBlock Text="Mật khẩu" Margin="0, 0, 0, 0" Visibility="Collapsed" FontStyle="Normal" Name="txtPrompt" FontSize="12" FontFamily="Segoe UI" />
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="false">
</Trigger>
<Trigger Property="Controller:PasswordBoxMonitor.PasswordLength" Value="0">
<Setter Property="Visibility" TargetName="txtPrompt" Value="Visible" />
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Visibility" TargetName="txtPrompt" Value="Hidden" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
my TXT Password_MouseDown函数:
private void txtPassword_MouseDown(object sender, MouseButtonEventArgs e)
{
txtPassword.Focus();
}
但是当我点击PasswordBox时,这个函数不会被执行 我解决了。有人设置了
ishitestvisible=“False”
,这就是为什么它对鼠标点击没有反应。我解决了它。有人设置了ishitestvisible=“False”
,这就是为什么它对鼠标点击没有反应。您在焦点处设置了断点吗?你确定不仅仅是Focus()函数没有完成你想让它做的事情吗?是的,我在txtPassword.Focus()上加了一个断点,但调试器并没有就此停止。这个密码箱不响应任何类型的鼠标事件,但我在按下tab按钮时获得了焦点。我解决了它。有人设置了ishitestvisible=“False”,使其对鼠标单击没有响应。你在焦点上放了一个断点吗?你确定不仅仅是Focus()函数没有完成你想让它做的事情吗?是的,我在txtPassword.Focus()上加了一个断点,但调试器并没有就此停止。这个密码箱不响应任何类型的鼠标事件,但我在按下tab按钮时获得了焦点。我解决了它。有人设置了ishitestvisible=“False”,使其对鼠标单击没有响应。
private void txtPassword_MouseDown(object sender, MouseButtonEventArgs e)
{
txtPassword.Focus();
}