我有这个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有什么问题?