C# 将文本框中的值添加到ListView

C# 将文本框中的值添加到ListView,c#,wpf,string,listview,textbox,C#,Wpf,String,Listview,Textbox,我对编程有点陌生,我正在编写一个简单的WPF程序来查找给定数字的因子。如何将文本框中的值添加到listview中,以便它查找因子。我正在使用以下代码: public List<int> Factor(int number) { List<int> factors = new List<int>(); number = Convert.ToInt32(txtFactorThis.Text); i

我对编程有点陌生,我正在编写一个简单的WPF程序来查找给定数字的因子。如何将文本框中的值添加到listview中,以便它查找因子。我正在使用以下代码:

    public List<int> Factor(int number)
    {
        List<int> factors = new List<int>();

        number = Convert.ToInt32(txtFactorThis.Text);

        int max = (int)Math.Sqrt(number);  
        for (int factor = 1; factor <= max; ++factor)
        { 
            if (number % factor == 0)
            {
                factors.Add(factor);
                if (factor != number / factor)
                { 
                    factors.Add(number / factor);
                }
            }
        }

        string stringfactors = string.Join(",", factors.ToArray());
        txtPrimeFactors.Text = stringfactors;
        return factors;

    }
公共列表因子(整数)
{
列表因子=新列表();
数字=转换为32(txtFactorThis.Text);
int max=(int)Math.Sqrt(number);

对于(int factor=1;factor,考虑到上述代码在某个事件中被调用,您可以在xaml中创建一个列表框,然后将该xaml绑定到code behind中的属性

当您从这个方法返回一个列表时,只需在它之前设置该属性

所以,拥有一个像

public List<int> FactorsData{get;set;}
在xaml中,将列表框绑定到此FactorData属性

在xaml中添加如下列表框

<ListBox ItemsSource="{Binding DataContext.FactorsData}"/>
如上所述,将FactorsData属性添加到codeBehind中

你的方法现在应该做到这一点

public List<int> Factor(int number)
{
    List<int> factors = new List<int>();

    number = Convert.ToInt32(txtFactorThis.Text);

    int max = (int)Math.Sqrt(number);  
    for (int factor = 1; factor <= max; ++factor)
    { 
        if (number % factor == 0)
        {
            factors.Add(factor);
            if (factor != number / factor)
            { 
                factors.Add(number / factor);
            }
        }
    }

    string stringfactors = string.Join(",", factors.ToArray());
    txtPrimeFactors.Text = stringfactors;

    this.FactorsData = factors;

    return factors;

}
公共列表因子(整数)
{
列表因子=新列表();
数字=转换为32(txtFactorThis.Text);
int max=(int)Math.Sqrt(number);

对于(int factor=1;factor您正在使用MVVM模式吗?嗯,不,我不这么认为。请尝试使用list.Items.Add(new ListViewItem(){Content=“headr”});其中list是listview的名称,或者您可以将列表绑定到listview。您必须在构造函数中为此设置控件的数据上下文才能使绑定工作。嗯,关于这一点,您如何在按钮单击事件中调用此类代码?对不起,我不知道
this.DataContext = this;
public List<int> Factor(int number)
{
    List<int> factors = new List<int>();

    number = Convert.ToInt32(txtFactorThis.Text);

    int max = (int)Math.Sqrt(number);  
    for (int factor = 1; factor <= max; ++factor)
    { 
        if (number % factor == 0)
        {
            factors.Add(factor);
            if (factor != number / factor)
            { 
                factors.Add(number / factor);
            }
        }
    }

    string stringfactors = string.Join(",", factors.ToArray());
    txtPrimeFactors.Text = stringfactors;

    this.FactorsData = factors;

    return factors;

}