2010-03-13 24 views

Répondre

2

Il y a un nice tutorial de Diederik Krols qui fait exactement ce que vous demandez pour le WPG Toolkit DataGrid.

+4

Cela ne répond pas, il traite en fait la validation de la cellule, la validation de la ligne ... toujours à la recherche d'un moyen de passer outre le comportement du contour rouge, ex: mettre un fond jaune à la place ... – Jay

+0

Vraiment, même la section qui dit "Validation de cellule" juste avant la section sur "Row Validation"? – PandaWood

+2

Je voulais dire le "style" de la cellule. L'article décrit comment valider la valeur, mais pas modifier le style de cellule, par exemple, sur un fond jaune au lieu de la bordure rouge standard, qui était la question d'origine. Il valide les valeurs de cellule, mais modifie seulement le style de ligne. J'ai trouvé ce genre d'adresses modifiant la cellule réelle: http://msdn.microsoft.com/en-us/library/ee622975.aspx – Jay

8

Essayez ceci:

<!-- Cell Style --> 
    <Style x:Key="CellErrorStyle" TargetType="{x:Type TextBlock}"> 
     <Style.Triggers> 
      <Trigger Property="Validation.HasError" Value="true"> 
       <Setter Property="ToolTip" 
         Value="{Binding RelativeSource={RelativeSource Self}, 
           Path=(Validation.Errors)[0].ErrorContent}"/> 
       <Setter Property="Background" Value="Yellow"/> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 

et de l'utiliser:

 <DataGrid.Columns> 
      <DataGridTextColumn 
       ElementStyle="{StaticResource CellErrorStyle}"> 
      </DataGridTextColumn> 
     </DataGrid.Columns>