VB.NET:输出所有Windows.Media.Brush

本文关键字:Windows Media Brush NET 输出 VB | 更新日期: 2023-09-27 18:26:08

我在VB.Net中的WPF上有一些形状。我添加了一个处理程序,所以我可以用控件删除或编辑这些形状。为此,我添加了一个组合框,我想在其中显示所有Windows.Media.Brush,这样我就可以选择一个并将颜色添加到形状中。

我的问题:-如何将Windows.Media.Brush的所有名称添加到组合框中?-以后如何用刷子把名字盖起来?

谨致问候,Stan

VB.NET:输出所有Windows.Media.Brush

要获得所有画笔名称的列表,只需按类型过滤Brushes的属性

var brushes = typeof(Brushes).GetProperties()
                             .Where (pi => pi.PropertyType == typeof(SolidColorBrush))
                             .Select (pi => pi.Name)
                             .ToList();

要将名称重新转换为画笔,可以再次使用反射:

var brush = typeof(Brushes).GetProperty("Blue")
                           .GetValue(null) 
                as SolidColorBrush;