2010-06-23 28 views
6

WPF uygulamam için özel bir doğrulayıcı şablon oluşturmak istiyorum.WPF özel doğrulama aracı ile araç ipucu

<ControlTemplate x:Key="ToolTipTemplate" TargetType="ToolTip"> 
     <Grid Opacity="0.93" MaxWidth="200"> 
      <Border BorderBrush="Black" BorderThickness="1,1,1,1" CornerRadius="2"> 
       <Border.Background> 
        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
         <GradientStop Color="#FFF5FAFE" Offset="0"/> 
         <GradientStop Color="#FFE5EFF9" Offset="1"/> 
        </LinearGradientBrush> 
       </Border.Background> 
       <Border.Effect> 
        <DropShadowEffect Color="#FF393939" /> 
       </Border.Effect> 
       <TextBlock Margin="10,10,10,10" 
        VerticalAlignment="Top" 
        TextWrapping="Wrap" 
        HorizontalAlignment="Left" 
        Text="{TemplateBinding Content}"> 
       </TextBlock> 
      </Border> 
     </Grid> 
    </ControlTemplate> 

doğrulama için bir başka şablon:

<ControlTemplate x:Key="GlobalErrorTemplate"> 
     <DockPanel> 
      <Ellipse x:Name="PART_icon" 
       DockPanel.Dock="Right" 
       Margin="2,0" 
       Width="10" Height="10"> 
       <Ellipse.Fill> 
        <LinearGradientBrush> 
         <GradientStop Color="#11FF1111" Offset="0" /> 
         <GradientStop Color="#FFFF0000" Offset="1" /> 
        </LinearGradientBrush> 
       </Ellipse.Fill> 
       <Ellipse.ToolTip> 
        <ToolTip Template="{StaticResource ToolTipTemplate}" />       
       </Ellipse.ToolTip> 
      </Ellipse> 
      <AdornedElementPlaceholder x:Name="adorner" /> 
     </DockPanel> 
    </ControlTemplate> 

Ve kontroller için stilleri, örneğin: can ı ipucunu ayarlamak nasıl

<Style TargetType="TextBox"> 
     <Setter Property="Validation.ErrorTemplate" Value="{StaticResource GlobalErrorTemplate}"/> 
     <!--<Style.Triggers> 
      <Trigger Property="Validation.HasError" Value="True"> 
       <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}" /> 
      </Trigger> 
     </Style.Triggers>--> 
    </Style> 

Bir ipucu şablon var Elips'in değeri (Validation.Errors) [0] .ErrorContent mu?

sayesinde

cevap

7

Eğer bulunduğunuz gibi ipucu tanımlayabilirsiniz böylece ErrorTemplate ait DataContext'i, zaten Validation.Errors değeridir Mart:

<ToolTip Template="{StaticResource ToolTipTemplate}" Content="{Binding Path=[0].ErrorContent}" />