You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅通过XAML重置TimePicker控件?

纯XAML实现TimePicker重置

想不用后台代码,纯靠XAML点击按钮把TimePicker恢复到未选中状态,你可以借助**XAML行为(Behaviors)**来实现,不需要写任何事件处理程序。

步骤说明:

  1. 先给项目添加行为库:

    • 如果你用的是WPF(.NET Framework),安装NuGet包System.Windows.Interactivity.WPF;
    • 若是.NET 5+/UWP,安装Microsoft.Xaml.Behaviors.Wpf。
  2. 在XAML中引入行为命名空间,然后给重置按钮添加触发逻辑:

<!-- 顶部添加命名空间 -->
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"

<TimePicker
    x:Name="ExitTime"
    Header="Exit Time"
    MinuteIncrement="1" />

<Button Content="Reset">
    <i:Interaction.Triggers>
        <!-- 监听按钮点击事件 -->
        <i:EventTrigger EventName="Click">
            <!-- 触发TimePicker的SelectedTime属性设为null(未选中状态) -->
            <i:ChangePropertyAction 
                TargetObject="{Binding ElementName=ExitTime}"
                PropertyName="SelectedTime"
                Value="{x:Null}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</Button>

为什么你之前的绑定无效?

你之前直接把Button.Click绑定到TimePicker.SelectedTime是错误的——Click是事件,不是属性,不能直接和属性做绑定。必须通过行为这类中间层,把事件触发转化为属性更改操作。

内容的提问来源于stack exchange,提问作者mainhar2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 19:12:21