WPF根据时间段动态响应查询

直接上代码

Select.XAML

<StackPanel DockPanel.Dock="Right" Orientation="Horizontal" Margin="30,0">
<TextBlock Text="起始时间:" FontSize="20" Padding="18" Foreground="Gray" />
<DatePicker Language="zh-CN" SelectedDate="{Binding StartDate}" SelectedDateFormat="Long"
Style="{StaticResource MaterialDesignDatePicker}" VerticalAlignment="Bottom"
materialDesign:HintAssist.Hint=" 开始日期 " />
<TextBlock Text="结束时间:" FontSize="20" Padding="18" Foreground="Gray" />
<DatePicker Language="zh-CN" SelectedDate="{Binding EndDate}" SelectedDateFormat="Long"
Style="{StaticResource MaterialDesignDatePicker}" VerticalAlignment="Bottom"
materialDesign:HintAssist.Hint=" 结束日期 " />
</StackPanel>

//XAML的交互逻辑

Select.XAML.cs

public Select(){

InitializeComponent();
Select model= new Select();
DataContext = model;
Loaded += select_Loaded;

}

private async void Select_Loaded(object sender, RoutedEventArgs e)
{
var vm = DataContext as SelectViewModel;
  if (vm != null)
  {
await vm.InitUnitsAsync();
  }
}

//SelectViewModel.cs

public DateTime StartDate {get; set;}

public DateTime endDate {get; set;}

private string[] _name { get; set; } = new[] { "名字" };

 

 

public async Task Get(){

//数据仓储

using(var context = new objectcont){

//获取接口

  var test= context.GetDbRepository(IInterface);

  //默认为当天时间

  DateTime startDateTime=StartDate.Date;
  DateTime endDateTime= EndDate.Date.AddDays(1).AddSeconds(-1);

  //查询数据带有名字的数据

    foreach(var item in ){

    var query = test.GetAll(a=> a.name.Contains(item) && a.StartDate==startDateTime && a.EndDate==endDateTime);

    }

  }

}

public async void OnStartDateChanged(){

 await Get();

}

public async void OnEndDateChanged(){

await Get();

}

posted @ 2021-12-17 10:04  入世微凉  阅读(187)  评论(0)    收藏  举报