1

我正在尝试使用 ObjectDataProvider 调用 Mouse 的 GetPositition 方法,但出现此错误:

System.Windows.Data 错误:34:ObjectDataProvider:尝试调用类型方法失败;方法='获取位置'; 类型='鼠标'; 错误='未找到具有匹配参数签名的方法。' 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}}

为什么无论我做什么都报告找不到方法?

4

2 回答 2

0

我猜它没有找到该方法,因为您提供了错误类型的方法参数。如果您查看 Mouse.GetPosition 的文档,您会发现它需要一个IInputElement类型的参数;您正在提供Type 类型的参数。

于 2009-04-24T12:16:18.483 回答
0

虽然 Sam 是正确的,但关键是该过程是否可以使用任何其他类型或值来完成。

根据 MSDN,没有办法将它与绑定一起使用,但我相信您可以参考某种复杂性高度掩盖结果。

真正的答案是不应该这样做。

于 2009-05-06T20:11:47.740 回答