switch ("Case2")
{
case (string)Application.Current.FindResource("Case1");
//Do Some logic
break;
case (string)Application.Current.FindResource("Case2");
//Do Some logic
break;
case (string)Application.Current.FindResource("Case3");
//Do Some logic
break;
default:
break;
}
我做了这个代码但它不起作用。现在我想分配从资源字典到常量表达式的字符串值((字符串)Application.Current.FindResource(“Case1”))。怎么可能,否则有什么办法吗?
答案 0 :(得分:3)
这是不可能的。根据定义,constant expression是 compile -time常量。资源字典查找必须在运行时进行。通常的解决方案是使用一串if
语句:
if ("Case2" == (string)Application.Current.FindResource("Case1"))
{
//Do some logic
}
else if ("Case2" == (string)Application.Current.FindResource("Case2"))
{
//Do some logic
}
else if ("Case2" == (string)Application.Current.FindResource("Case3"))
{
//Do some logic
}