В WPf VB.net Datagrid я должен связать изображение на основе значений, поэтому я пытаюсь связать DataGridTemplateColumn для каждого столбца.Но я получаю сообщение об ошибке как System.ArgumentException: «DataGridColumn с заголовком» «уже существует в коллекции столбцов DataGrid. DataGrids не может совместно использовать столбцы и не должна содержать повторяющиеся экземпляры столбцов».Paremetername: item
Я опробовал следующие параметры в
Событие AutoGeneratingColumn
1) e.Column = CType(grdTotal.FindResource("booleanImageTemplate"), DataGridTemplateColumn)
2)
Dim oGrdTemplate As DataGridTemplateColumn = New DataGridTemplateColumn
oGrdTemplate.Header = e.Column.Header
oGrdTemplate = CType(grdTotal.FindResource("booleanImageTemplate"), DataGridTemplateColumn)
e.Column = oGrdTemplate
Но выдает ту же ошибку.
Xaml
<DataGridTemplateColumn x:Key="booleanImageTemplate">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Name="theImage" Width="64" Height="64" Source="../Resources/Help.png"/>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Col5}" Value="0,00">
<Setter TargetName="theImage" Property="Source" Value="../Resources/PM.png"/>
</DataTrigger>
<DataTrigger Binding="{Binding Col6}" Value="1,00">
<Setter TargetName="theImage" Property="Source" Value="../Resources/PE.png"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
pm.xaml.vb
Private Sub AutoGeneratingColumn(sender As Object, e As DataGridAutoGeneratingColumnEventArgs)
Dim sSpaltenbreite As String
Dim sElementTyp As String = ""
If e.PropertyName = "IsReadable" Or e.PropertyName = "HasValue" Then
e.Cancel = True
Exit Sub
End If
Dim oGrdTemplate As DataGridTemplateColumn = New DataGridTemplateColumn
oGrdTemplate.Header = e.Column.Header
oGrdTemplate = CType(grdTotal.FindResource("booleanImageTemplate"), DataGridTemplateColumn)
e.Column = oGrdTemplate
End Sub
Я хотел бы показать изображение в ячейке на основе ячейкизначение, после динамического связывания строк и столбцов с использованием DatagridTemplateColumn с data.triggers.
Или есть еще какие-то предложения, которые также высоко ценятся.