从DatePicker触发命令或触发器

时间:2019-05-22 13:46:04

标签: c# wpf mvvm command

如标题中所述,

我想在日期选择器或类似的东西上创建一个触发器。情况如下:

    <DatePicker SelectedDate="{BindingDateDebut}"/>
    <DatePicker SelectedDate="{Binding DateEnd}"/>

不用担心日期绑定。现在,我想更改日期时会触发一个命令:

            LoadMatrice = new RelayCommand(async () =>
        {
            await GetParametresMatrice();
        });

例如访问“ GetParametresMatrice()”方法。

我当然可以在“ DateStart”和“ DateEnd”集中添加该方法,但是有时两个日期都同时更改(例如在初始化期间),而没有“ await”,则我的任务会同时完成并且输出的代码给出了不好的结果。

我尝试使用:

            <i:Interaction.Triggers>
            <i:EventTrigger EventName="SelectionChanged">
                <i:InvokeCommandAction Command="{Binding LoadMatrice}"/>
            </i:EventTrigger>
        </i:Interaction.Triggers>

但是它不会触发。有提示吗?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

DatePicker没有SelectionChanged事件,但是有一个SelectedDateChanged事件,您可以尝试处理:

<i:EventTrigger EventName="SelectedDateChanged">