Вопрос

Я пытаюсь пройти несколько ценностей через Imultivalueconverter в команду (в качестве параметра команды). Значения правильные, когда они проходят через преобразователь, но после того, как Can_Execute () и выполняются () Comds вызваны, я получаю массив нулевых объектов. Есть идеи?

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 Class:

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 ();
        }
    }

Код работал просто отлично, когда я не использовал Multi-iinding и Converter, но мне нужен MultiBinding, поэтому я могу пройти некоторую дополнительную информацию в команду.

Это было полезно?

Решение

Возвращая значения .CLONE () Вместо того, чтобы только значения из конвертера, кажется, рефиляруют проблему, но я не уверен, что это лучшее, что нужно сделать ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top