قيم imultivalueConverter على ما يرام ، ولكن CommandParameter خالية

StackOverflow https://stackoverflow.com/questions/4606811

سؤال

أحاول تمرير عدة قيم من خلال imultivalueConverter إلى أمر (كمعلمة الأوامر). تكون القيم صحيحة عندما تمر عبر المحول ، ولكن بمجرد أن يتم استدعاء can_execute () وتنفيذ () يتم استدعاء comands ، أحصل على مجموعة من الكائنات الفارغة. أيه أفكار؟

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

لقد عملت الرمز بشكل جيد عندما لم أكن أستخدم محولًا متعدد المرتبات ، لكنني بحاجة إلى التعيين متعدد المرتبات حتى أتمكن من تمرير بعض المعلومات الإضافية إلى الأمر.

هل كانت مفيدة؟

المحلول

يبدو أن القيم الإرجاع. chlone () بدلاً من القيم فقط من المحول يصلح المشكلة ، لكنني لست متأكدًا مما إذا كان هذا هو أفضل شيء يجب القيام به ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top