gpt4 book ai didi

c# - 从 DataGridTemplateColumn ContentPresenter 中删除 ErrorTemplate

转载 作者:行者123 更新时间:2023-11-30 22:20:28 25 4
gpt4 key购买 nike

我发现当行的项目包含验证错误时,用于显示 DataGridTemplateColumn 内容的 ContentPresenter 显示默认的 ErrorTemplate。我看不到任何直接的方法来防止这种情况。有什么想法吗?

这是我第一次尝试确保不显示验证错误模板:

<DataGridTemplateColumn Width="70" Header="Enabled" Validation.ErrorTemplate="{x:Null}" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Enabled.Value}"
HorizontalAlignment="Center"
VerticalAlignment="Center" Validation.ErrorTemplate="{x:Null}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellStyle>
<Style >
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>
</DataGridTemplateColumn.CellStyle>
</DataGridTemplateColumn>

Example

使用 Snoop,我看到该单元格包含一个显示验证错误的 ContentPresenter

我发现我只能通过删除数据网格中所有内容呈现器上的错误模板来禁用它:

<DataGrid.Resources>
<Style TargetType="ContentPresenter">
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>
</DataGrid.Resources>

有没有办法只影响单个 DataGridTemplateColumn

这篇文章看起来很相似: DataGridCell Validation.ErrorTemplate ignored

最佳答案

我找到了一个解决方案。从 DataGridTemplateColumn.CellStyle 中添加以 ContentPresenter 为目标的资源样式可以解决问题。

<DataGridTemplateColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Style.Resources>
<Style TargetType="{x:Type ContentPresenter}">
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>
</Style.Resources>
</Style>
</DataGridTemplateColumn.CellStyle>

关于c# - 从 DataGridTemplateColumn ContentPresenter 中删除 ErrorTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14991826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com