Проверка Silverlight DataGrid показывает ошибку проверки для всех объектов | свойства - PullRequest
2 голосов
/ 09 февраля 2011

У меня есть ObservableCollection <T>, где T: INotifyDataErrorInfo.

У объектов в этой коллекции есть ошибки проверки, затем я связываю эту коллекцию с Silverlight 4 DataGrid, есть ли способ показать эту ошибку проверки в DataGrid? (показать красную ячейку для недопустимых свойств для каждого объекта). По умолчанию DataGrid показывает ошибку проверки только тогда, когда я начинаю редактировать строку, и только для активной строки.

1 Ответ

2 голосов
/ 10 февраля 2011

У меня не получилось с TextBlock контролем, поэтому я использовал отключенный TextBox Вы можете изменить шаблон TextBox, я имею в виду удалить границу и сделать ее фон действительно прозрачным.

multi row validatione

<sdk:DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Items}" IsReadOnly="False" SelectionMode="Single">
    <sdk:DataGrid.Columns>
        <sdk:DataGridTextColumn Header="Title" Binding="{Binding Title}"/>
        <sdk:DataGridTemplateColumn Header="Link" Width="100">
            <sdk:DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBox Text="{Binding Link, Mode=TwoWay}" Margin="2" 
                             IsEnabled="False" BorderThickness="0" Background="Transparent"/>
                </DataTemplate>
            </sdk:DataGridTemplateColumn.CellTemplate>
            <sdk:DataGridTemplateColumn.CellEditingTemplate>
                <DataTemplate>
                    <TextBox Text="{Binding Link, Mode=TwoWay}" Margin="2"/>
                </DataTemplate>
            </sdk:DataGridTemplateColumn.CellEditingTemplate>
        </sdk:DataGridTemplateColumn>
    </sdk:DataGrid.Columns>
</sdk:DataGrid>
...