将TextBox中的值添加到ListView

时间:2015-02-16 09:29:04

标签: c# wpf string listview textbox

我是编程的新手,我正在编写一个简单的WPF程序来查找给定数字的因子。如何将文本框中的值添加到列表视图中以查找因子。我正在使用以下代码:

    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;

    }

如何将列表值加载到另一个文本框以显示结果?

1 个答案:

答案 0 :(得分:0)

考虑到在某个事件上调用上面提到的代码,您可以在xaml中创建一个列表框,然后将该xaml绑定到后面的代码中的属性。

当您从此方法返回列表时,只需在此之前设置该属性。

所以,有一个像

这样的属性
public List<int> FactorsData{get;set;}

然后设置此属性

FactorsData = factors;
return factors;
xaml中的

将列表框绑定到此FactorsData属性

在你的xaml中添加一个这样的列表框。

<ListBox ItemsSource="{Binding DataContext.FactorsData}"/>

在构造函数后面的代码中执行此操作

this.DataContext = this;

如上所述,在您的codeBehind中添加一个FactorsData属性。

你的方法现在应该这样做

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;

}