首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >已忽略DataGridCell Validation.ErrorTemplate

已忽略DataGridCell Validation.ErrorTemplate
EN

Stack Overflow用户
提问于 2012-03-15 22:34:50
回答 2查看 2.3K关注 0票数 6

我正在尝试设置DataGridCells的Validation.ErrorTemplate,下面是xaml代码:

代码语言:javascript
复制
<Style x:Key="{x:Type DataGridCell}"  x:Uid="dataGridCellErrorTemplate" TargetType="{x:Type DataGridCell}">
    <Setter Property="Validation.ErrorTemplate">
        <Setter.Value>
            <ControlTemplate >
                <Border BorderBrush="Green" BorderThickness="2" ToolTip="Heidenei"></Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <!-- following line only for demonstration that the setter is working ... -->
    <Setter Property="Background" Value="Aquamarine"></Setter>              
</Style>

虽然数据网格单元的背景成功地着色为绿色(独立于任何验证结果),但使用的Validation.ErrorTemplate仍然是默认的,即红色边框。

我知道在stackoverflow中也有类似的问题,例如Styling DataGridCell Error Template,但它们并没有真正解决我的问题。

任何帮助我们都将不胜感激

弗兰克

EN

回答 2

Stack Overflow用户

发布于 2013-02-21 07:12:18

我相信我也遇到了同样的问题。

当使用DataGridTemplateColumn时,内容用ContentPresenter表示。此内容演示者使用默认错误模板。

我无法找到直接删除单个DataGridTemplateColumn的模板的方法,但是您可以通过向数据网格的资源添加样式来为DataGrid中的所有内容呈现者删除该模板。

代码语言:javascript
复制
<DataGrid.Resources>
    <Style TargetType="ContentPresenter">
        <Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
    </Style>
</DataGrid.Resources>
票数 7
EN

Stack Overflow用户

发布于 2014-09-17 19:29:51

通过使用下面的TextBlock样式,我幸运地删除了恼人的红色边框。

代码语言:javascript
复制
<Style TargetType="TextBlock">
    <Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9721960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档