我正在开发一个通用的Windows应用程序,当我将一个项目添加到列表框时,它会出现两次没有错误
这是代码
private async void btnNew_Click(object sender, RoutedEventArgs e)
{
listBox.Items.Add(nameBox.Text);
string type = comboBox.SelectedItem.ToString();
URL url = new URL();
url.type = type;
url.name = nameBox.Text;
url.info = infoBox.Text;
url.url = urlBox.Text;
url.isProtected = isProtectedSwitch.IsOn;
await url.saveToXML();
infoBox.Text = "";
nameBox.Text = "";
urlBox.Text = "";
comboBox.SelectedIndex = -1;
}
如果需要:
public async Task saveToXML()
{
//Directory.CreateDirectory(@"C:\Link");
URL newURL = new URL();
newURL.type = type;
newURL.name = name;
newURL.info = info;
newURL.url = url;
newURL.isProtected = isProtected;
newURL.amountOfClicks = amountOfClicks;
StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync(@"Link\" + newURL.name + ".xml", CreationCollisionOption.ReplaceExisting);
Stream fileStream = await file.OpenStreamForWriteAsync();
DataContractSerializer serialize = new DataContractSerializer(typeof(URL));
serialize.WriteObject(fileStream, newURL);
}
答案 0 :(得分:1)
在您提供的代码中看不到任何问题。
在添加项目之前,您可能没有清除退出listBox.Items
。确保在添加新的项目列表之前listBox.Items.Clear()
。
答案 1 :(得分:0)
在添加项目之前清理列表框。
listBox.Items.Clear();
双击此按钮是可行的,因此代码会触发两次。