0
我有一個網格(容器),而這又有幾個網格(subContainers)按行排列。這些「子容器」中的每一個都有不同的列和控件。而這些「subContainers」中的每一個都將水平對齊設置爲伸展,並且必須保持這種方式,因爲此查看器依賴於它的佈局。Silverlight水平拉伸和獲取位置問題
我使用「容器」來設置每個控件的位置。到現在爲止還挺好。現在我的頭痛......我想從網格中刪除控件,並將其放在畫布中,只在同一個確切的位置,它返回的位置就好像控件設置爲網格的開始而不是這是真實的位置。 出於測試目的,我將「subContainters」水平對齊設置爲居中,並且(儘管佈局完全錯誤),每個控件在發送到畫布時都處於正確的位置,當HA =拉伸時它不會發生。 下面是我用得到的位置代碼:
GeneralTransform gt = nc.TransformToVisual(gridZoom);
Point offset = gt.Transform(new Point());
所以你可以理解,例如,我的第一控制應該是這樣的(80,1090)的地方,但我得到的點(3, 3)。
任何人都可以幫助我嗎?謝謝
你是什麼意思?你的意思是:「GeneralTransform gt = nc.TransformToVisual(Container);」 ???我已經嘗試,以及相同的結果,偏移返回(3,3):( – David 2012-04-14 13:17:06
然後嘗試(我已經發布了上面相同的代碼): var transform = mySubSubSubElement.TransformToVisual(Application.Current .RootVisual); var position = transform.Transform(new Point(0,0)); – 2012-04-14 13:39:38
謝謝。它的工作幾乎完美:P,唯一的事情,因爲子元素不在(0,0)點控制,我不得不減去抵消點和VOILA的差異:DDD它看起來很棒非常感謝:D – David 2012-04-14 14:35:03