用年份填充下拉框

5

我正在进行一个WPF项目,我有一个年份下拉框应该包含从1950年到现在的年份。有什么建议如何进行?

5个回答

13

你可以试试这样的方法,将它分配为数据源

Enumerable.Range(1950, DateTime.Today.Year).ToList();

3
第二个参数是要加到初始数字1950的数字的数量。正确的写法是'Enumerable.Range(1950, DateTime.UtcNow.Year - 1949).ToList();',这将包括当前年份在列表中。 - J Pollack
抱歉,这个答案根本不起作用,它会将一个列表填满从1950年到3972年的千年。Pollack的评论解决了这个问题。谢谢! - WhySoSerious

9
我会编写一个循环,从1950年开始一直到当前年份。在每次循环迭代时,只需向组合框添加一个条目,该条目的内容为当前循环计数器。

一些伪代码:

for (int i = 1950; i <= currentYear; i++) {
   ComboBoxItem item = new ComboBoxItem();
   item.Content = i;
   myCombobox.Items.Add(item);
}

2

something like:

for(int year = 1950; year<DateTime.UtcNow.Year; ++year)
{
// Add year as year to the combo box item source...
}

1

从当前年份开始添加 Reverse。此外,Enumerable Range 需要使用 System.Linq。

Enumerable.Range(1950, DateTime.UtcNow.Year - 1949).Reverse().ToList();

0
        for (int i = 1950; i <= 2050; i++)
        {              

           Year_combo.Items.Add(i);
        }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接