2014-07-16 65 views
0

我有一組用戶控件,派生自FrameworkElement。每個主機一個或多個DrawingVisuals。這些繪圖視覺效果可以表示文本,圖形,進度表等,並用於顯示各種HMI設備的狀態。WPF Canvas和DrawingVisuals消失

這些,在網格中的外觀明智的工作 - 圖像被渲染,文本和背景顯得很好,可以設置依賴屬性。但是,當我將它們封裝在Canvas中時,它們全部消失,但是對於代表標籤的圖形視覺效果。即使對於這些,也只有DrawingContext.DrawText呈現的文本可見。不顯示由dc.DrawImage,cd.DrawRectangle等執行的操作。

有人可以請說明爲什麼這可能是。

謝謝

+0

你正確地定位你的控制?在網格中,每個項目都有邊距,在畫布中,必須爲每個元素設置Canvas.Top和Canvas.Left。這些東西不是隱藏在某種東西之下嗎?如果控件實際上是Canvas子項的一部分,或者根本沒有添加,則嘗試使用snoop來使用。 – Krishna

+1

就是這樣。我需要控制器保持相對於彼此的絕對位置,否則管道/閥門/設備不會排隊。我不知道帆布的定位屬性。如果你把你的評論作爲答案,我會接受。 –

+0

完成。不知道爲什麼你得到這個問題downvote雖然。我會立即投票並將其恢復爲0。 – Krishna

回答

1

您是否正確定位控件?在網格中,每個項目都有邊距,在畫布中,必須爲每個元素設置Canvas.Top和Canvas.Left。這些東西不是隱藏在某種東西之下嗎?如果控件實際上是Canvas子項的一部分,或者根本沒有添加,則嘗試使用snoop來使用。

你可以閱讀更多關於畫布上MSDN