如何基于字符串设置复选框

时间:2019-11-20 12:59:18

标签: c# wpf

我有一个功能,可以从txt文件中读取一些数据,然后将数据写入我的项目中。

我的问题是我无法填写复选框,因为它们无法识别字符串。

例如

CheckBox1.IsChecked = File.ReadLines(filename).Skip(0).Take(1).First();

它说字符串不能转换为布尔值。

在此示例中,我的txt文件中的第一行显然是错误的,因此输出不是问题。

2 个答案:

答案 0 :(得分:0)

使用以下两种方法之一:

CheckBox1.IsChecked = bool.Parse(File.ReadLines(filename).Skip(0).Take(1).First());

CheckBox1.IsChecked = Convert.ToBoolean(File.ReadLines(filename).Skip(0).Take(1).First())

仅当文件中的文本始终仅是“ true”或“ false”时,这才起作用,如果可以是其他任何文本,请使用TryParse

有关更多详细信息,请参见此处https://stackoverflow.com/a/49590872/559144

答案 1 :(得分:0)

为什么您不读取字符串中的值,如果此值等于True或False,则在比较此值之后,例如:

List<string> myLines = File.ReadLines("C:\\Temp\\MyFile.txt").ToList();
bool isChecked = false;
string myValue = myLines.FirstOrDefault();
if(myValue != null && myValue.Equals("true", StringComparison.OrdinalIgnoreCase))
    isChecked = true;

CheckBox1.Checked = isChecked;

像这样,您的代码是干净安全的!