如何更改 Xceed Datagrid 的 CellErrorStyle?

发布于 2024-09-01 17:10:11 字数 1748 浏览 7 评论 0原文

所以在 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>

...

So in the Xceed documentation there is a code example that does not work for me. It may be because my grid is bound to a DataGridCollectionView. The objects in the collection used by the datagridcollection are what implement IDataErrorInfo.

The errors are showing up just fine. The problem is that they are using the default orange background for errors...I need a red border. Below is the XAML instantiation of my grid. I set the DataCell background property to red just so I could be sure I had access to the grid's properties... I do. I just can't find the way to identify the cell's w/ errors so I can style them. Thanks!

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

...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帝王念 2024-09-08 17:10:11

知识库条目:

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

似乎可能缺少一个关键部分。

您是否尝试过

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

The knowledge base entry:

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

Does seem to be potentially missing a critical piece.

Did you try the CellErrorStyle Property on 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>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文