2010-02-03 56 views
2

在WPF應用程序中,我有一個ObservableCollection對象(圖像上的區域),我希望在運行時顯示和編輯(大小和位置)。Databind InkCanvas Children

我想在選擇模式下使用InkCanvas,矩形代表我的對象,但它似乎不直接支持數據綁定。

是否有可能以某種方式將InkCanvas的Children集合綁定到ObservableCollection?

+1

我試圖做類似的事情,但找不到任何明顯的東西。最後使用附加的依賴項屬性來手動同步我想綁定的Children集合和ObservableCollection。我很樂意聽到任何更好的建議 – 2010-02-08 12:50:13

+0

這就是我現在正在做的事。除了手動填充InkCanvas兒童外,我還處理SelectionMoved和SelectionResized,並手動將值重新放入模型中。這一切在我看來都像是一件明顯的事情,讓他們在未來的版本中加強。 – 2010-02-09 12:19:38

回答

1

您是否嘗試過使用ItemsControl作爲ItemsControl.ItemsPanel的ItemsControl?然後,您可以將ItemsSource屬性綁定到您的ObservableCollection。然後,您可以使用ItemsControl.ItemsTemplate將項目的屬性綁定到Canvas.Left(Right)屬性以進行絕對放置。

+0

但是,您將無法通過EditingMode.Selection選擇InkCanvas的這些子項。如果它是隻讀的,這是一個適當的解決方案,但它不是一個通用的InkCanvas解決方案。 – 2011-11-08 00:04:55