转换器在实例化期间仅运行一次

时间:2014-05-20 02:03:25

标签: c# wpf type-conversion converter ivalueconverter

我有这个Calendar控件

<Calendar x:Name="Calendario" SelectionMode="SingleRange" SelectedDatesChanged="Calendario_SelectedDatesChanged">
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="SelectedDatesChanged">
            <cmd:EventToCommand Command="{Binding ProcesarFechasCommand}" CommandParameter="{Binding ElementName=Calendario,Path=SelectedDates,Converter={l:SelectedDatesToList}}"/>    
        </i:EventTrigger>
    </i:Interaction.Triggers>
</Calendar>

和这个转换器

public class SelectedDatesToList : BaseConverter, IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        var selectedDates = value as IList;
        List<DateTime> ListaFechas = selectedDates.Cast<DateTime>().ToList();
        return ListaFechas;
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

我的问题是如果转换器处于活动状态,我的Command Allways会将值作为空列表接收。如果我删除转换器,我的命令会收到已填写的列表。

转换器仅在实例化期间运行。即使日历的SelectedDates稍后更改,转换器也不再运行。

我的转换器或我的xaml有什么问题?

0 个答案:

没有答案