这是一个奇怪的!我正在开发一个读取 vCard 文件的应用程序,其中包含一个人的联系方式等信息。每个文件可能包含单独的“部分”,每个部分包含一个人的详细信息,由 BEGIN:VCARD [此处的数据] END:VCARD 分隔。
为了使我的用户能够查看所有不同的详细信息,我允许我的程序使用详细信息填充我的应用程序中的文本框,然后打开一个新窗口并使用该窗口执行此操作,但对于文件。
当在资源管理器中双击 vCard 文件时打开我的程序时出现问题。它不断循环通过 vCard。我不知道该怎么做,但下面是我有问题的代码:
public void readVcard(string fname)//Reads vCard and then loops through sections
{
try
{
using (StreamReader r = new StreamReader(fname))
{
string input = File.ReadAllText(fname);//read through file
String[] vArray = input.Split(new string[] { "BEGIN:VCARD" }, StringSplitOptions.None);
int i;
for (i = 1; i < vArray.Length; i++)
{
MainWindow a = new MainWindow();
a.parser(vArray[i]); //Parser is the function that populates the app
a.Show();
}
return;
}
}...
从这里调用这个函数:
void MainWindow_Loaded(object sender, RoutedEventArgs e)//Processes a file when opened externally
{
if (Application.Current.Properties["ArbitraryArgName"] != null)
{
string fname = Application.Current.Properties["ArbitraryArgName"].ToString();
readVcard(fname);
}
}
如果有人可以提供帮助,将不胜感激。