因此,经过一番争吵之后,我设法编写了一些代码,使我可以读取文本文件,将其拆分并放置到一个数组中,然后将该数组绑定到文本框中-这不是很好,因为有60个数组中的条目,然后将它们拆分到文本框中是很痛苦的-但它可以工作。我能够使用文本文件中的正确数据填充所有文本框,并且文本文件中的数字不会更改-始终为60。
然后,我可以将文本框绑定到xaml的输出中,如下所示:
所有这些都在名为TimeKeeper的网格中。
每行有5个条目,所以0&5是x的第一个,然后是x的第二个。
因此,我尝试遵循正确的过程,而不是在主窗口代码中进行设置,而是创建了一个类,并将逻辑放在该类中。
然后在主窗口中
使用断点,我可以看到Entries具有60个应该具有的条目,并且绑定是相同的-我只是不知道为什么它不起作用。我试过了
和以前一样,但这也不起作用。
在将逻辑移到类后,我是否缺少现在需要绑定的内容?
C#:
List<string> Entries = new List<string>();
string DS1 = fn.CombinedName("DataSet1.txt");
if (File.Exists(DS1))
{
var lines = File.ReadAllLines(DS1);
Entries= lines.SelectMany(x => x.Split(new[]
{
','
}, StringSplitOptions.None)).ToList();
}
TimeKeeper.DataContext = this;
然后,我可以将文本框绑定到xaml的输出中,如下所示:
C#:
Text="{Binding Entries [0]}"
Text="{Binding Entries [5]}"
所有这些都在名为TimeKeeper的网格中。
每行有5个条目,所以0&5是x的第一个,然后是x的第二个。
因此,我尝试遵循正确的过程,而不是在主窗口代码中进行设置,而是创建了一个类,并将逻辑放在该类中。
C#:
public class DataCollection
{
public List<string> Populate { get; set; }
FileName fn = new FileName();
public List<string> Entries()
{
string DS1 = fn.CombinedName("DataSet1.txt");
if (File.Exists(DS1))
{
var lines = File.ReadAllLines(DS1);
Populate = lines.SelectMany(x => x.Split(new[]
{
','
}, StringSplitOptions.None)).ToList();
}
return Populate;
}
}
然后在主窗口中
C#:
List<string> Entries = new List<string>();
private void Reload()
{
DataCollection dc = new DataCollection();
dc.Entries();
Entries = dc.Populate;
TimeKeeper.DataContext = Entries;
}
使用断点,我可以看到Entries具有60个应该具有的条目,并且绑定是相同的-我只是不知道为什么它不起作用。我试过了
C#:
TimerKeeper.DataContext = this;
和以前一样,但这也不起作用。
在将逻辑移到类后,我是否缺少现在需要绑定的内容?