2010-12-06 104 views
0
被炒

我的代碼去如下:默認的驗證模板不是WPF

<TextBox > 
    <TextBox.Text> 
     <Binding Path="SaveAsText" ValidatesOnDataErrors="True" ValidatesOnExceptions="True" UpdateSourceTrigger="PropertyChanged"> 
      <Binding.ValidationRules> 
       <val:SaveTextValidator></val:SaveTextValidator> 
      </Binding.ValidationRules> 
     </Binding> 
    </TextBox.Text> 
    <TextBox.Style> 
     <Style TargetType="{x:Type TextBox}"> 
      <Style.Triggers> 
       <Trigger Property="Validation.HasError" Value="true"> 
        <Setter Property="ToolTip" 
    Value="{Binding RelativeSource={x:Static RelativeSource.Self}, 
        Path=(Validation.Errors), Converter={StaticResource errorConverter}}"/> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </TextBox.Style> 
</TextBox> 

現在,當驗證錯誤發生,是越來越顯示工具提示是做一個文本框邊框紅色的默認驗證模板不射擊 !!
我哪裏錯了?

+0

想你的文本框和Validation.ErrorTemplate是顯示了罰款,所以一定是別的東西是問題 – 2010-12-06 09:18:19

回答

0

您正在覆蓋文本框的默認樣式(基本上說:除非我告訴你什麼都不做)。

我想在默認樣式中有一些觸發器會使邊框變紅。既可以實現它自己,也可以將您的樣式設置爲當前的默認設置。

<Style BasedOn={x:Type TextBox} ...>