2016-11-18 74 views
-1

我想禁用懸停和鼠標移動密碼框的效果。因爲我將passwordbox Style屬性設置爲我的自定義屬性,並且它們重疊。我如何禁用密碼箱的默認效果?如何禁用密碼框懸停,聚焦,鼠標效果

這裏是passwordBox的XAML和它的風格

<PasswordBox x:Name="PassBox" MaxLength="40" PasswordChar="*" MinWidth="250" Style="{StaticResource PasswordBoxWithValidation}" Margin="10" /> 

這裏是passwordbox

<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

在你的風格,你可以嘗試設置的風格:

<Setter Property="OverridesDefaultStyle" Value="True" /> 

或者明確指定setter屬性來禁用你不想要的效果(雖然我不這樣做)實際上知道這些是什麼)。

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>