目前我正在处理数据库,遇到了一个小问题。我有一个应用程序,在这个应用程序中,每个用户都可以将不需要的应用程序的某些部分设置为“不可见”,这样它们就不再显示了。 我将每个用户的这些信息保存在数据库中,以便该应用程序可以直接采用用户上次使用时设置的任何更改或设置。在该数据库中,可见性属性保存为字符串。 例如,我的数据库中保存了以下变量:
string str = Convert.ToString(System.Windows.Visibility.Visible);
现在我再次启动我的应用程序并读取该变量,该变量应该表示名为“grid”的网格的可见性属性,并且设置此属性我想做的是这样的:
SqlDataReader reader = sqlCommand.ExecuteReader();
while (reader.Read())
{
grid.Visibility = reader.GetString(1);
}
不幸的是,我得到了错误:无法将类型“string”隐式转换为 System.Windows.Visibility 有没有人知道替代解决方案或将字符串转换为可见性的可能性?
希望清楚我想做什么,并提前感谢您的任何建议
最佳答案
System.Windows.Visibility
是一个 Enum,Enum 有 Parse
方法从字符串中获取值。解析返回 object
值,需要显式转换:
grid.Visibility = (System.Windows.Visibility)
Enum.Parse(typeof(System.Windows.Visibility), reader.GetString(1));
关于c# - WPF:将字符串转换为 System.Windows.Visibility,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42811184/