【问题标题】:Databind InkCanvas Children数据绑定 InkCanvas 儿童
【发布时间】:2010-02-03 08:53:47
【问题描述】:

在 WPF 应用程序中,我有一个 ObservableCollection 对象(图像上的区域),我想在运行时显示和编辑(大小和位置)。

我想在 Select 模式下使用 InkCanvas 和 Rectangles 代表我的对象,但它似乎不直接支持数据绑定。

是否有可能以某种方式将 InkCanvas 的 Children 集合绑定到 ObservableCollection?

【问题讨论】:

  • 我尝试做类似的事情,但找不到任何明显的东西。最终使用附加的依赖属性来手动同步 Children 集合和我想要绑定到的 ObservableCollection。不过很想听听任何更好的建议
  • 这就是我现在基本上在做的事情。除了手动填充 InkCanvas Children 之外,我还在处理 SelectionMoved 和 SelectionResized 并手动将值放回模型中。在我看来,这一切都是他们在未来版本中要增强的一件显而易见的事情。

标签: c# wpf data-binding inkcanvas


【解决方案1】:

您是否尝试过使用 ItemsControl 并将 Canvas 设置为 ItemsControl.ItemsPanel?然后,您可以将 ItemsSource 属性绑定到您的 ObservableCollection。然后,您可以使用 ItemsControl.ItemsTemplate 将项目的属性绑定到 Canvas.Left(右)属性以进行绝对放置。

【讨论】:

  • 但是您将无法使用 EditingMode.Selection 选择 InkCanvas 的那些子项。如果它是只读的,这是一个足够的解决方案,但它不是一般的 InkCanvas 解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-07
相关资源
最近更新 更多