سؤال

أحاول استخدام ObjectDATAPRovider لاستدعاء طريقة getpositition للماوس، لكنني أحصل على هذا الخطأ:

خطأ System.windows.data: 34: ObjectDataprovider: فشل محاولة استدعاء الأسلوب عند النوع؛ الطريقة = "getposition"؛ اكتب = 'الماوس'؛ خطأ = "لم يتم العثور على طريقة مع توقيع المعلمة مطابقة". missingmethodexception: 'system.missingmethodexception: الطريقة "system.windows.input.mouse.getposition" غير موجود.

هذا هو رمزي في الوقت الراهن:

<ObjectDataProvider MethodName="GetPosition" ObjectType="{x:Type sys:Mouse}"  x:Key="odp">
        <ObjectDataProvider.MethodParameters>
            <x:Type TypeName="local:TestType"/>
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>

مع ملزمة بسيطة:

{مصدر الربط = {staticresource ODP}}

لماذا تقارير عدم العثور على الطريقة بغض النظر عن ما أقوم به؟

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

المحلول

أعتقد أنه لا يجد الطريقة لأنك توفر معلمات طريقة من النوع الخطأ. إذا نظرت إلى توثيق للحصول على Mouse.getPosition، سترى أنه يأخذ معلمة واحدة من النوع iinputelement.; ؛ أنت تقدم معلمة من النوع يكتب.

نصائح أخرى

في حين أن SAM صحيح، إلا أن النقطة كانت إذا كانت العملية يمكن القيام بها مع أي نوع أو قيمة أخرى مقدمة.

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

الجواب الحقيقي هو أنه لا ينبغي القيام به.

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