WPF ObjectDataProvider与鼠标的静态方法GetPosition

时间:2009-04-24 01:02:22

标签: wpf data-binding mouse objectdataprovider

我正在尝试使用ObjectDataProvider来调用Mouse的GetPositition方法,但是收到此错误:

System.Windows.Data错误:34:ObjectDataProvider:尝试在类型上调用方法失败;方法= '为getPosition';类型=“鼠标”; Error ='找不到匹配参数签名的方法。 MissingMethodException:'System.MissingMethodException:Method'Wind.Windows.Input.Mouse.GetPosition'not found。

这是我目前的代码:

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

带有简单的绑定:

{Binding Source = {StaticResource odp}}

为什么报告没有找到方法而不管我做什么?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

根据MSDN,没有办法将它与绑定结合使用,但我相信你可以使用某种类型的引用,这种复杂性会高度重视结果。

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