Frage

Ich versuche, mehrere Werte durch eine IMultiValueConverter an einen Befehl übergeben (als Befehlsparameter). Die Werte korrekt sind, wenn sie durch den Konverter gehen, aber sobald die Can_Execute () und Execute () Comands genannt bekam, habe ich eine Reihe von null Objekte erhalten. Irgendwelche Ideen?

XAML:

    <Button Content="+" HorizontalAlignment="Right" VerticalAlignment="Top" Width="23" Height="23" Margin="0,0,0,0">
        <Button.CommandParameter>
            <MultiBinding Converter="{StaticResource Converter_MultipleValues}">
                <Binding/>
            </MultiBinding>
        </Button.CommandParameter>
        <Button.Command>
            <Binding Path="Command_Add_Files" Source="{StaticResource Vm_FileList}"/>
        </Button.Command>
    </Button>

IMultiValueConverter Klasse:

class cvt_multivalue : IMultiValueConverter {
    public object Convert (object[] Values, Type Target_Type, object Parameter, CultureInfo culture) {
        if (Target_Type != typeof (object)) throw new NotSupportedException ();
        return Values;
        }

    public object [] ConvertBack (object Value, Type [] Target_Type, object Parameter, CultureInfo culture) {
        throw new NotSupportedException ();
        }
    }

Der Code funktioniert nur gut, wenn ich nicht ein Multibinding und Konverter, aber ich brauche die Multibinding so dass ich einige zusätzliche Informationen an den Befehl übergeben können.

War es hilfreich?

Lösung

Rückkehr Values.Clone () anstelle von nur Werten aus dem Konverter scheint das Problem zu beheben, aber ich bin nicht sicher, ob das das Beste, was ist ...

zu tun
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top