Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 转换器在实例化期间仅运行一次_C#_Wpf_Type Conversion_Converter_Ivalueconverter - Fatal编程技术网

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

C# 转换器在实例化期间仅运行一次,c#,wpf,type-conversion,converter,ivalueconverter,C#,Wpf,Type Conversion,Converter,Ivalueconverter,我有这个日历控件 <Calendar x:Name="Calendario" SelectionMode="SingleRange" SelectedDatesChanged="Calendario_SelectedDatesChanged"> <i:Interaction.Triggers> <i:EventTrigger EventName="SelectedDatesChanged"> <cmd:Ev

我有这个日历控件

<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();
    }
}
public类SelectedDatesToList:BaseConverter、IValueConverter
{
公共对象转换(对象值、类型targetType、对象参数、System.Globalization.CultureInfo区域性)
{
var selectedDates=作为IList的值;
List ListaFechas=selectedDates.Cast().ToList();
返回ListaFechas;
}
公共对象转换回(对象值、类型targetType、对象参数、System.Globalization.CultureInfo区域性)
{
抛出新的NotImplementedException();
}
}
我的问题是,如果转换器处于活动状态,我的命令始终以空列表形式接收值。如果我移除转换器,我的命令将接收allready filled列表

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


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

您的convert方法被命中了吗?抱歉,这是什么意思?我的意思是,当您应用converter时,它的convert方法会从xaml调用?是的,它会被调用,但只有在窗口启动时才会被调用。至少我这么认为。断点仅在窗口启动时停止。该命令始终有效。不确定这是否是问题所在,但我通常将转换器声明为资源,并通过{StaticResource ResourceKey}扩展使用它