Я не могу установить проверку для столбца шаблона сетки данных WPF, который содержит указатель даты и текстовый блок - PullRequest
2 голосов
/ 06 мая 2011

Имеется столбец шаблона сетки данных, содержащий указатель даты и текстовое поле, указатель даты для редактирования и текстовое поле для отображения. Я пытаюсь применить стиль к этому столбцу, чтобы проверить его, но он применяется к датчику, а не к текстовому блоку:

<Style x:Key="DateEditStyle" TargetType="{x:Type my:DatePicker}">
        <Style.Triggers>
            <Trigger Property="Validation.HasError" Value="true">
                <Setter Property="ToolTip" 
                        Value="Plase check the data in the cell"/>
            </Trigger>
        </Style.Triggers>
</Style>
<Style x:Key="TextBlockEditStyle" TargetType="{x:Type TextBlock}">
        <Style.Triggers>
            <Trigger Property="Validation.HasError" Value="true">
                <Setter Property="ToolTip" 
                        Value="Plase check the data in the cell"/>
            </Trigger>
        </Style.Triggers>
</Style>
<my:DataGridTemplateColumn x:Name="SrvDateCol" Header="Date" Width="100">
    <my:DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <my:DatePicker  SelectedDate="{Binding srvdate,StringFormat=d, ValidatesOnExceptions=True}"
                            SelectedDateChanged="DatePicker_SelectedDateChanged"
                            Style="{StaticResource DateEditStyle}"></my:DatePicker>
        </DataTemplate>
    </my:DataGridTemplateColumn.CellEditingTemplate>
    <my:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding srvdate,StringFormat=d,ValidatesOnExceptions=True}"/>
        </DataTemplate>
    </my:DataGridTemplateColumn.CellTemplate>
</my:DataGridTemplateColumn>

Когда я вписываю дату ошибки в ячейку, стиль работает хорошо, но когда я ее покидаю, стиль исчезает, и ячейка возвращается в исходное состояние. Так как же применить стиль к TextBlock? Я надеюсь, что мой вопрос ясен.

...