我正在尝试禁用鼠标悬停和鼠标悬停密码框效果。因为我将passwordbox Style属性设置为我的自定义属性,并且它们是重叠的。如何禁用密码框的默认效果?
这是passwordBox的xaml及其样式
<PasswordBox x:Name="PassBox" MaxLength="40" PasswordChar="*" MinWidth="250" Style="{StaticResource PasswordBoxWithValidation}" Margin="10" />
以下是密码箱的样式
<Style x:Key="PasswordBoxWithValidation" TargetType="PasswordBox">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="BorderBrush" Value="Red" />
<Setter Property="ToolTipService.ShowDuration" Value="20000" />
<Setter Property="ToolTip">
<Setter.Value>
<ToolTip DataContext="{Binding Path=PlacementTarget, RelativeSource={RelativeSource Self}}">
<ItemsControl ItemsSource="{Binding Path=(Validation.Errors)}" DisplayMemberPath="ErrorContent" />
</ToolTip>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
答案 0 :(得分:0)
您可以尝试设置:
<Setter Property="OverridesDefaultStyle" Value="True" />
或明确指定setter属性以禁用您不想要的效果(虽然我实际上并不知道它们是什么)。
答案 1 :(得分:0)
每个控件都有自己的样式和行为,因此您必须使用。
覆盖默认样式<Setter Property="OverridesDefaultStyle" Value="True" />
当您覆盖默认样式时,您必须实现控件模板(PasswordBox)。
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type PasswordBox}">
<!--- Implement your logic here -->
</ControlTemplate>
</Setter.Value>
</Setter>