第一次使用PDFSharp时,我有一个获胜表单,用户可以为要创建的PDF选择字体和大小。此外,该应用程序在页面上绘制了一些当前硬编码颜色的矩形,如下所示:
rect = new XRect(5, 300, 25, 15);
gfx.DrawRectangle(XBrushes.SeaShell, rect); //SET COLOR TO RECT
tf.Alignment = XParagraphAlignment.Center;
tf.DrawString("No", invoiceItemsHeaderFont, XBrushes.Black, rect,
XStringFormats.TopLeft);
我希望用户能够通过下拉菜单选择颜色。如何从XBrush加载所有颜色。到一个列表,然后将其解析为这样,这是一种尝试:
foreach(XBrushes xbrush in typeof(XBrushes)
{
colorsRect.Add(xbrush.ToString());
}
谢谢大家!
我知道这有点晚了,但也许这可以帮助其他人。
我想你们只是想收集不同的画笔?
我查看了XBrush类,它的所有公共静态属性似乎都是画笔。您可以使用反射来遍历其所有属性,并获得笔刷的值。
类似于:
public static IEnumerable<XSolidBrush> Brushes
{
get
{
return typeof(XBrushes).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static)
.Select(p => p.GetValue(null))
.Where(b=>b.GetType()==typeof(XSolidBrush))
.Cast<XSolidBrush>();
}
}