# DatePicker 日期选择框

`AntdUI.DatePicker` 用于选择日期，适合表单日期、筛选日期、到期日等场景。日期值是 .NET `DateTime`，常用显示格式为 `yyyy-MM-dd`。

## 最小示例

```aardio
import win.ui;
import dotNet.AntdUI;
/*DSG{{*/
var winform = win.form(text="AntdUI DatePicker";right=520;bottom=260)
winform.add(
host={cls="custom";left=40;top=40;right=300;bottom=80;edge=1;z=1}
)
/*}}*/

var picker = AntdUI.DatePicker(winform.host);
picker.Format = "yyyy-MM-dd";
picker.PlaceholderText = "请选择日期";
picker.AllowClear = true;
picker.DropDownArrow = true;

picker.ValueChanged = function(sender,e){
    winform.text = "日期已改变";
}

winform.show();
win.loopMessage();
```

## 常用属性

- `Value`：当前日期，通常为 .NET `DateTime` 或空值。
- `Format`：显示格式，例如 `yyyy-MM-dd`、`yyyy/MM/dd`。
- `MinDate` / `MaxDate`：可选日期范围。
- `PlaceholderText`：占位文本。
- `AllowClear`：允许清除。
- `ShowIcon`、`DropDownArrow`：显示图标/下拉箭头。
- `Placement`：弹出位置。
- `Presets`：预设日期集合。
- `ValueChanged`、`PresetsClickChanged`：日期变化/预设点击事件。

## 设置当前日期

```aardio
import System;

picker.Value = System.DateTime.Now;
```

## 主动设置与清空

```aardio
import System;

picker.Value = System.DateTime(2026,7,8);
picker.Clear();
```

`ValueChanged` 在日期改变时触发；`ClearClick` 可响应用户点击清除按钮；`ExpandDropChanged` 可监听下拉面板展开/关闭。

## 注意事项

- `Value` 是 .NET 日期对象；读取后如需转为字符串，可结合 .NET `ToString(format)` 或在业务层转换。
- `DatePicker` 常用 `ShowButtonToDay` 显示“今天”按钮。
- 选择日期范围请使用 `DatePickerRange`，它的 `Value` 是 `System.DateTime[]`。
- 如果还需要选择时分秒，可组合 `DatePicker` 与 `TimePicker`。
- 完整组合场景可参考：[日期时间筛选与预约面板](../../advanced/date-time-filter-showcase.html)。
