【发布时间】:2016-10-29 22:37:08
【问题描述】:
我一直在寻找这个,但我没有找到任何接近我需要的东西,也许它很简单,但我得到的只是如何使用“+”或格式化过程。
我想知道的是如何通过更改另一个字符串来调用包含颜色的 HEX 格式的字符串。
这里和例子:
我已经命名了以下字符串:
string Color_Option1 = "#FF17868B";
string Color_Option2 = "#FFFFFFFF";
string Color_Option3 = "#FF000000";
还有这个变量:
private static string m_optionclicked = "";
public static string OptionClicked
{
get { return m_optionclicked; }
set { m_optionclicked = value; }
}
然后我有 3 个按钮和一个 TextBlock,当单击一个按钮时,它们会在“OptionClicked”上设置一个值,例如:
OptionClicked = "Option2";
因此,根据单击的按钮,我想像这样更改 TextBlock 的背景颜色:
TextBlock.Background = (SolidColorBrush)(new BrushConverter().ConvertFrom("Color_" + OptionClicked));
但我每次在后台行都会出错,有谁知道我怎样才能用类似的语法调用名为“Color_Option2”的字符串?
我已确保 OptionClicked 的值为“Option2”,如果我编写“Color_Option2”而不是连接字符串和变量,它实际上可以工作。
顺便说一句,这是一个简化的例子,我有很多按钮、文本块和颜色,所以制作一串“如果”或逐个确定会让我的生活变得悲惨。
提前致谢。
【问题讨论】:
-
似乎您可能需要考虑将此信息存储在字典中,以便根据选项名称轻松检索。此外,如果您想要任何类型的真实答案,您可能需要考虑包含错误。
-
对不起,弹出的错误是“FormatException 未处理-PresentationCore.dll 中发生'System.FormatException' 类型的未处理异常”但我认为这是因为我在调用字符串错误的方式。而且我是 C# 的新手,但我搜索的关于在字典中存储信息的内容似乎与我存储信息的方式相同,但问题仍然在于如何调用它。我可能错了,如果我错了,请告诉我,我仍然想学习更多 C#
标签: c# wpf string concatenation