列表框项被添加两次而不是一次

本文关键字:一次 两次 添加 列表 | 更新日期: 2023-09-27 18:06:00

我正在开发一个通用的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);
}

列表框项被添加两次而不是一次

在您提供的代码中看不到任何问题。

在添加项目之前可能没有清除现有的listBox.Items。在添加新项目列表之前,请确保您的listBox.Items.Clear()

添加项目前清理列表框

listBox.Items.Clear();

有可能,您双击此按钮,因此代码触发两次。