如何更改Xceed Datagrid的CellErrorStyle?

时间:2010-05-17 20:59:09

标签: wpf errorprovider xceed-datagrid

所以在Xceed文档中有一个代码示例对我不起作用。这可能是因为我的网格绑定到DataGridCollectionView。 datagridcollection使用的集合中的对象是实现IDataErrorInfo。

的实现

错误显示得很好。问题是他们使用默认的橙色背景来表示错误......我需要一个红色边框。下面是我的网格的XAML实例化。我将DataCell背景属性设置为红色,这样我就可以确定我可以访问网格的属性......我知道。我只是找不到识别单元格错误的方法,所以我可以设置它们的样式。谢谢!

        <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>

...

1 个答案:

答案 0 :(得分:1)

知识库条目:

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

似乎可能缺少关键部分。

您是否在DataGridView上尝试了CellErrorStyle Property

<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>