我在 Windows 窗体中托管 WPF 用户控件
在 wpf 用户控件中,我使用 wpfToolkit.extended 中的时间选择器
如果我使用向上或向下键或仅在文本字段中输入时间,则尽管我使用的是 Updatesourcetrigger = propertychanged,但源不会更新。
当我在下拉列表中选择一个时间时,一切都会按其应有的方式进行。
这是工具包的命名空间。
xmlns:xctk="clr-namespace:Xceed.Wpf.Toolkit;assembly=WPFToolkit.Extended"
这是时间选择器的 xaml
<xctk:TimePicker Format="LongTime" TimeInterval="00:15:00.000" Value="{Binding Path=StartTime, UpdateSourceTrigger=PropertyChanged}" ></xctk:TimePicker>
如果我在 WPFusercontrol 外部单击而不首先将焦点更改为 wpf 用户控件中的另一个控件。绑定时间未更新。
知道我该如何解决这个问题吗?
找到了解决这个问题的方法:
我为 TimePicker 指定了一个名称(在本例中为“tpFrom”),然后在 TimePicker 上使用了 TextBoxBase.TextChanged 事件。
这就是 Xaml 现在的样子:
<xctk:TimePicker Name="tpFrom" Format="LongTime" TextBoxBase.TextChanged="TimePicker_TextChanged" TimeInterval="00:15:00.000" Value="{Binding Path=StartTime, UpdateSourceTrigger=PropertyChanged}"></xctk:TimePicker>
在事件处理程序后面的代码中,我们将重点放在时间选择器上。
private void TimePicker_TextChanged(object sender, TextChangedEventArgs e)
{
tpFrom.Focus();
}
现在,每次文本更改时,值也会更改,问题就解决了:-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)