列表视图中充满了文件夹过滤器中的文件

时间:2018-10-10 11:57:01

标签: c# wpf

我有一个问题,我不知道该如何处理,技巧会很实用。

我有一个列表视图,其中充满了台式机文件夹中的TXT文件 我需要它来过滤日期选择器

例如,文件夹中的文件称为10-10-2018.TXT, 11-10-2018.TXT

通过日期选择器选择日期后,我只希望显示该文件。

这就是我所拥有的。

Public partial class StartAnalyse : Window
{
    string currentitem = string.Empty;
    DirectoryInfo dinfo = new DirectoryInfo(@"C:\Users\User\Desktop\folder1");

    private void LV1_Loaded(object sender, RoutedEventArgs e)
    {
        DataFromFolders1();
    }


    public void DataFromFolders1()
    {

        LV1.Items.Clear();

        if (dinfo.Exists)
        {
            FileInfo[] Files = dinfo.GetFiles("*.txt");
            foreach (FileInfo file in Files)

            {
                LV1.Items.Add(file.Name);
            }
        }

private void DatePicker1_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
    //here i convert the selected date to string

    String date = Convert.ToDateTime(datePicker1.Text).ToString("d/MM/yyyy");

    // here i need help
}

1 个答案:

答案 0 :(得分:0)

您可以在DataFromFolders1方法中添加一个可选参数,并在使用GetFiles()过滤文件时使用它:

 public void DataFromFolders1(string fileName = "*")
{
    LV1.Items.Clear();
    if (dinfo.Exists)
    {
        FileInfo[] Files = dinfo.GetFiles($"{fileName}.txt");
        foreach (FileInfo file in Files)

        {
            LV1.Items.Add(file.Name);
        }
    }
}

在您的DatePicker1_SelectedDateChanged方法中,您可以使用字符串作为参数来调用它。

private void DatePicker1_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
    string date = Convert.ToDateTime(datePicker1.Text).ToString("dd-MM-yyyy"); // Note the format change to fit your file names
    DataFromFolders1(date);
}