我有一个ObservableCollection <T>
,其中T:INotifyDataErrorInfo。
此集合中的对象有验证错误,然后我将此集合绑定到Silverlight 4 DataGrid,有没有办法在DataGrid中显示此验证错误? (显示每个对象的无效属性的红色单元格)。默认情况下,DataGrid仅在我开始编辑行时显示验证错误,并且仅针对活动行。
答案 0 :(得分:2)
我没有成功使用TextBlock
控件,因此我使用了已禁用的TextBox
您可以更改TextBox
的模板,我的意思是删除边框并将其背景设置为非常透明。
<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>