WPF ObjectDataProvider со статическим методом Получает положение мыши

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

Вопрос

Я пытаюсь использовать ObjectDataProvider для вызова метода GetPositition мыши, но получаю эту ошибку:

Система.Windows.Ошибка данных:34 :ObjectDataProvider - поставщик объектных данных:Ошибка при попытке вызвать метод по типу;Метод='GetPosition' (Получение позиции);Тип='Мышь';Ошибка='Не найден метод с соответствующей сигнатурой параметра.' Missingmethod Exception:'System.missingmethod exception:Система " Метод".Windows.Ввод.Мышь.GetPosition' не найден.

На данный момент это мой код:

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

с простой привязкой:

{Источник привязки={StaticResource odp}}

Почему он сообщает, что не находит Метод, независимо от того, что я делаю?

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

Решение

Я предполагаю, что он не находит метод, потому что вы предоставляете параметры метода неправильного типа.Если вы посмотрите на Документация для мыши.GetPosition, вы увидите, что он принимает один параметр типа IInputElement Элемент ввода;вы предоставляете параметр типа Тип.

Другие советы

Хотя Сэм прав, вопрос заключался в том, можно ли было бы выполнить процесс с любым другим представленным типом или значением.

Согласно MSDN, нет способа использовать это с привязкой, хотя я полагаю, что у вас могла бы быть какая-то ссылка, сложность которой сильно затмевает результат.

Реальный ответ заключается в том, что этого не следует делать.

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