DataGridCell Validation.ErrorTemplate игнорируется - PullRequest
4 голосов
/ 15 марта 2012

Я пытаюсь установить Validation.ErrorTemplate DataGridCells, вот код xaml:

<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 , но они действительно не решают мою проблему.

Любая помощь приветствуется

Фрэнк

Ответы [ 2 ]

4 голосов
/ 21 февраля 2013

Я считаю, что я испытываю ту же проблему.

При использовании DataGridTemplateColumn содержимое отображается с ContentPresenter.Этот предъявитель контента использует шаблон ошибки по умолчанию.

Я не могу найти прямой способ удалить этот шаблон для отдельного человека DataGridTemplateColumn, но вы можете удалить его для всех предъявителей контента в DataGrid, добавив стиль в ресурсы DataGrid.*

0 голосов
/ 17 сентября 2014

Мне повезло, удалив раздражающую красную рамку, используя следующий стиль TextBlock.

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