我试图使用的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 ;您提供类型的参数键入

其他提示

虽然萨姆是正确的,则点是,如果过程可以与呈现的任何其它类型或值来完成。

按照MSDN没有办法与结合使用,但我相信你可以有某种复杂的高度掩盖了结果的参考。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top