Pergunta

Portanto, na documentação do Xceed há um exemplo de código que não funciona para mim.Pode ser porque minha grade está vinculada a um DataGridCollectionView.Os objetos da coleção usada pela datagridcollection são os que implementam IDataErrorInfo.

Os erros estão aparecendo perfeitamente.O problema é que eles estão usando o fundo laranja padrão para erros...Preciso de uma borda vermelha.Abaixo está a instanciação XAML da minha grade.Eu configurei a propriedade de fundo do DataCell para vermelho apenas para ter certeza de que tinha acesso às propriedades da grade...Eu faço.Simplesmente não consigo encontrar uma maneira de identificar os erros da célula para poder estilizá-los.Obrigado!

        <XceedDG:DataGridControl Grid.Row="1" Grid.ColumnSpan="5" ItemsSource="{Binding Path = ABGDataGridCollectionView, UpdateSourceTrigger=PropertyChanged}"
                                     Background="{x:Static Views:DataGridControlBackgroundBrushes.ElementalBlue}" IsDeleteCommandEnabled="True"
                                     FontSize="16" AutoCreateColumns="False" x:Name="EncounterDataGrid" AllowDrop="True">

        <XceedDG:DataGridControl.View>
            <Views:TableView ColumnStretchMode="All" ShowRowSelectorPane="True" 
                     ColumnStretchMinWidth="100">
                <Views:TableView.FixedHeaders>
                    <DataTemplate>
                        <XceedDG:InsertionRow Height="40"/>
                    </DataTemplate>
                </Views:TableView.FixedHeaders>
            </Views:TableView>

        </XceedDG:DataGridControl.View>
        <!--Group Header formatting-->
        <XceedDG:DataGridControl.Resources>
            <Style TargetType="{x:Type XceedDG:GroupByControl}">
                <Setter Property="Visibility" Value="Collapsed"/>
            </Style>
            <Style TargetType="{x:Type XceedDG:DataCell}">
                <Setter Property="Background" Value="Red"/>
            </Style>
        </XceedDG:DataGridControl.Resources>

...

Foi útil?

Solução

A entrada da base de conhecimento:

http://xceed.com/KB/questions.php?questionid=256

Parece estar potencialmente faltando uma peça crítica.

Você tentou o Propriedade CellErrorStyle no DataGridView?

<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid">
  <Grid.Resources>
    <Style x:Key="errorStyle" TargetType="{x:Type xcdg:DataCell}">
      <Setter Property="Foreground" Value="Red"/>
    </Style>
  </Grid.Resources>

  <xcdg:DataGridControl CellErrorStyle="{StaticResource errorStyle}" >
       <!--STUFF OMITTED-->
  </xcdg:DataGridControl>
</xcdg:DataGridControl>

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top