【发布时间】:2014-01-30 21:05:15
【问题描述】:
我正在开发一个用于手动图像处理的应用程序,并在 C# 中使用 MVVM 来使事情井井有条。
在应用程序中,用户加载图像,然后通过拖动“手柄”来设置分析区域的角点来选择要处理的图像区域。这些句柄只是包含在位于加载图像顶部的Canvas 中的Ellipse 对象。
视图模型需要知道句柄的位置,以便它可以告诉模型要分析哪些像素。这意味着视图模型需要知道手柄相对于加载图像左上角的坐标。
如何将这些句柄的位置传达给视图模型?简单地绑定到Canvas.Left 或Canvas.Top 以获得手柄的位置是1)真的,真的很难看,2)不是我需要的信息 - 我需要相对于图像的位置,而不是包含的画布。
感谢您的帮助!
如果有帮助,我将在视图中实例化我的视图模型(正如我被告知的那样),使用
<Window.DataContext>
<user:ImageProcessorViewModel/>
</Window.DataContext>
【问题讨论】: