Listview 使用文本框中的按钮按填充uwp中的列表视图

Listview 使用文本框中的按钮按填充uwp中的列表视图,listview,uwp,Listview,Uwp,我正在尝试从文本框填充uwp中的列表视图。但每次我按下“添加”按钮时,单词都会堆叠在一起。我的意思是它正在填充列表视图,但它似乎只在第1行填充它。 这是我的密码 namespace Library { /// <summary> /// An empty page that can be used on its own or navigated to within a Frame. /// </summary> public sealed

我正在尝试从文本框填充uwp中的列表视图。但每次我按下“添加”按钮时,单词都会堆叠在一起。我的意思是它正在填充列表视图,但它似乎只在第1行填充它。 这是我的密码

namespace Library
{
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    {
        
         ListView Fruits;


        public MainPage()
        {
            this.InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Fruits = new ListView();

            
            Fruits.Items.Add(textBox.Text);
            FruitsPanel.Children.Add(Fruits);

        }
    }


    
}
命名空间库
{
/// 
///可以单独使用或在框架内导航到的空页。
/// 
公共密封部分类主页面:第页
{
ListView水果;
公共主页()
{
this.InitializeComponent();
}
私有无效按钮\u单击(对象发送者,路由目标e)
{
水果=新的ListView();
水果.Items.Add(textBox.Text);
水果片。儿童。添加(水果);
}
}
}
问题就在这里

private void Button_Click(object sender, RoutedEventArgs e)
{
    Fruits = new ListView(); // at this line problem

    Fruits.Items.Add(textBox.Text);
    FruitsPanel.Children.Add(Fruits); // and this line too

}  
您所做的是每次单击
按钮
,都会创建一个新的列表视图。而且每次都会向其中添加一个项目,并且您无缘无故地将
列表视图
添加到
面板
。相反,你需要做的是这样

public MainPage()
{
    this.InitializeComponent();
    Fruits = new ListView(); // Initialize ListView from Constructor
    FruitsPanel.Children.Add(Fruits); // add ListView to Layout only once
}
private void Button_Click(object sender, RoutedEventArgs e)
{
    Fruits.Items.Add(textBox.Text);
}  
现在我们要做的是,基本上只在
MainPage
打开(启动)时初始化一次
Fruits ListView的新实例。而不是每次单击按钮时初始化
ListView


现在,单击按钮,我们只是添加新项目,而不是替换以前的整个listview。

这是否回答了您的问题?不幸的是,我认为你需要移动
水果盘.Children.Add(水果)
也发送到协构造函数。否则,您不仅会将新项目添加到listview,还会继续将listview添加到面板。我甚至没注意到那句台词。只需粘贴副本。谢谢:)@IliyaB如果它对您有效,请将其标记为答案!谢谢:)