0
我們需要動態創建(即在運行時,通過代碼隱藏)UserControl並將它們放置在Canvas上。 我們希望將這些大小(!)和可拖動(!)UserControl的位置(Canvas.Left和Canvas.Top)和寬度綁定到ObservableCollection>。當用戶拖動或調整控件大小時,會自動更新數據源。將用戶控件的位置和大小綁定到WPF中的畫布中
如果UserControl包含在DataTemplate中,而DataTemplate又被其DataContext設置爲我們想要綁定的集合的ListBox所使用,我們將如何實現這一點?
換句話說,我們如何綁定一個XAML中不存在的控件的位置和大小,但僅在代碼中(因爲它是通過單擊並拖動鼠標創建的)?
請注意,集合可以爲空或不爲空,這意味着存儲在數據源中的大小和位置必須正確綁定,以便可以在Canvas中 - 通過DataBinding正確定位和定位UserControl。 這可能嗎?
感謝您的幫助。 這很有趣。在你的例子中綁定中的TopProperty或LeftProperty是什麼?那是Canvas.Left和Canvas.Top或UserControl.Left和USerControl.Top嗎? 我還沒有能夠完成這項工作,更不用說TwoWay綁定了。 – John 2010-03-31 08:50:58
經過一些更多的試驗和錯誤,這實際上起作用。當Mosue移動或調整UserControl的大小時,TwoWay將負責處理數據源。謝謝!! – John 2010-03-31 09:19:52
TopProperty和LeftProperty是您希望保持同步的數據源上的屬性。很高興聽到它解決了! – CMerat 2010-03-31 12:55:27