我是编程的新手,我正在编写一个简单的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;
}
如何将列表值加载到另一个文本框以显示结果?
答案 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;
}