iTextsharp和DataGrid颜色冲突

时间:2016-10-29 06:11:08

标签: vb.net itext

我的代码上的一个DataGrid个性化,代码为

With MyDataGrid
    .RowsDefaultCellStyle.BackColor = Color.White
    .AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray
End With

工作正常。

使用Nuget我使用Install-Package iTextSharp安装了iTextsharp然后我添加了行

Imports iTextSharp.text.pdf
Imports iTextSharp.text
Imports iTextSharp.text.BaseColor

代码有效,PDF已创建

但如果我添加行

Imports iTextSharp.text.Font

行上出现冲突

With MyDataGrid
    .RowsDefaultCellStyle.BackColor = Color.White
    .AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray
End With

Visual Studio说

  

属性iTextSharp.text.Font.Color为BaseColor   获取/设置此字体的颜色   对非共享成员的引用需要对象引用

我认为Visual Studio会将Datagrid的Color.White属性与iTextsharp的文本混淆。

但即使使用此代码(在With MyDataGrid之外)

MyDataGrid.RowsDefaultCellStyle.BackColor = Color.White
MyDataGrid.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray

冲突持续存在

我如何避免这种冲突?

1 个答案:

答案 0 :(得分:3)

您可以通过显式使用System.Drawing颜色强制它使用您想要的系统颜色,因此它不会尝试从其他itextsharp引用中获取颜色前缀:

    With MyDataGrid
        .RowsDefaultCellStyle.BackColor = System.Drawing.Color.White
        .AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.LightGray
    End With