我正在尝试使用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}}
为什么报告没有找到方法而不管我做什么?
答案 0 :(得分:0)
我猜它没有找到方法,因为你提供了错误类型的方法参数。如果您查看Mouse.GetPosition的documentation,您会看到它需要一个IInputElement类型的参数;您正在提供Type类型的参数。
答案 1 :(得分:0)
虽然Sam是正确的,但关键是如果可以使用任何其他类型或值来完成该过程。
根据MSDN,没有办法将它与绑定结合使用,但我相信你可以使用某种类型的引用,这种复杂性会高度重视结果。
真正的答案是不应该这样做。