是否可以通过WPF代码后面的 System.Windows.SystemColors.WindowTextBrushKey 获取诸如红色,黑色等颜色名称?
string color = "Black";
if (System.Windows.SystemParameters.HighContrast)
{
color = System.Windows.SystemColors.WindowTextBrushKey; // I want to get color from this value
}
答案 0 :(得分:0)
这取决于。 SystemColors.WindowTextBrush
将给您Brush
。然后,您可以检查其字符串表示形式是否与Brushes
类的静态属性返回的任何Brushes
匹配:
string color = "Black";
if (System.Windows.SystemParameters.HighContrast)
{
System.Windows.Media.Brush brush = System.Windows.SystemColors.WindowTextBrush;
string s = brush.ToString();
color = typeof(System.Windows.Media.Brushes).GetProperties()
.FirstOrDefault(p => p.GetValue(null)?
.ToString() == s)?
.Name;
}