具有鼠标静态方法 GetPosition 的 WPF ObjectDataProvider
我尝试使用 ObjectDataProvider 调用 Mouse 的 GetPositition 方法,但收到此错误:
System.Windows.Data Error: 34 : ObjectDataProvider: Failure attempts to invoke method on type; 方法='获取位置'; 类型='鼠标'; 错误=“未找到具有匹配参数签名的方法。” 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>
使用简单的绑定:
{Binding Source={StaticResource odp}}
为什么无论我做什么它都报告找不到方法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我猜它找不到该方法,因为您提供了错误类型的方法参数。 如果您查看文档对于 Mouse.GetPosition,您将看到它采用 Type。
I'm guessing that it's not finding the method because you're supplying Method Parameters of the wrong type. If you look at the documentation for Mouse.GetPosition, you'll see that it takes one parameter of type IInputElement; you are providing a parameter of type Type.
虽然 Sam 是正确的,但问题是该过程是否可以使用任何其他类型或呈现的值来完成。
根据 MSDN,没有办法将其与绑定一起使用,尽管我相信您可以有某种参考,但复杂性很大程度上掩盖了结果。
真正的答案是不应该这样做。
While Sam is correct, the point was if the process could be done with any other type or value presented.
According to the MSDN there is no way to use this with binding, though I believe you could have a reference of some sort the complexity highly overshadows the result.
The real answer is it should not be done.