c# - WPF:将字符串转换为 System.Windows.Visibility

标签 c# wpf visual-studio-2013

目前我正在处理数据库,遇到了一个小问题。我有一个应用程序,在这个应用程序中,每个用户都可以将不需要的应用程序的某些部分设置为“不可见”,这样它们就不再显示了。 我将每个用户的这些信息保存在数据库中,以便该应用程序可以直接采用用户上次使用时设置的任何更改或设置。在该数据库中,可见性属性保存为字符串。 例如,我的数据库中保存了以下变量:

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/

相关文章:

wpf - WPF 中列表框项的自定义工具提示

c# - WPF 布朗运动 : updating state with a thread

c++ - 配置 Visual Studio 以使用 Boost.Python 和 Python 3

c# - 清洁解决方案不清洁 FakesAssemblies?

c# - XAML Horizo​​ntalAlignment 属性不符合我的要求

c# - 年份无法使用正则表达式正确显示

c# - MVC 2 - Cookie 不保存

c# - 如何在Azure表中允许不同的数据格式?

sql-server - 无法安装 Azure 存储模拟器 4.1

c# - Unity 2018.3 的 Android 运行时权限