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();
}

浙公网安备 33010602011771号