2014-02-28 29 views
0

我有一個自定義UserControl旨在允許個人選擇圖像的區域。我想讓這個控件作爲一個裝飾器,可以在子圖像上繪製區域選擇控件。WPF中的子控件繪製父控件

但是,將圖像添加爲XAML中UserControl的子項時,會將圖像呈現在我的UserControl中的Canvas中的橢圓對象的控點的頂部。

如何強制UserControl的內容在其子級之上進行渲染?

回答

3

聽起來就像你想創建一個裝飾者。看一看MSDN adorners overview

但是你總是可以設置Canvas.ZIndex附屬屬性,以便事物在渲染順序上移動得更高。

+0

謝謝!我會看看裝飾者。至於你的第二個建議,我將如何去設置一個直接控制孩子的Z指數與實際上在控制內的元素? – user1227489

0

最簡單的方法是使用裝飾者。很簡單。

裝飾者基本上是UIElement頂部的一個額外的UI層。

一個很好的比喻是咖啡桌或餐桌上有一塊厚厚的玻璃。

如果你不在玻璃上畫畫,你只能看到桌子。一旦你畫在玻璃上,它就會顯示在桌子上方。

如果你想擺脫你繪製的東西,你只需刪除玻璃或清理它。

我這個案子的玻璃將是一個裝飾者。