2012-03-26 73 views
3

我正在使用包含畫布的UserControl。作爲畫布的孩子,有裝飾者的內容控制。爲什麼裝飾者不可見或許裝飾圖層已被終止。 所有內容都已創建並附加。裝飾圖層在視覺樹中非常高。 裝飾圖層置於UserControl之外。Adorner未顯示

我知道這是因爲我實現了基本的運動機制,但裝飾器從來沒有出現過。

需要做些什麼才能顯示裝飾者?

+1

據我從 看到http://msdn.microsoft.com/en -us/library/ms743737.aspx Adorner通常在方法重寫OnRender中實現。 這是你在做什麼? – Klaus78 2012-03-27 08:07:57

+1

是的,我是。我終於找到了原因。當我將合併資源字典添加到應用程序的MainWindow中時,不僅將其添加到自定義用戶控件的資源中,裝飾者終於顯示出來。 – Patrik 2012-03-27 20:37:38

+0

@patrik我面臨同樣的問題,請詳細解釋... – 2015-01-16 06:26:04

回答

2

默認情況下,WPF窗口有一個AdornerDecorator,但usercontrol沒有。所以,你只需要在你的usercontrol.xaml裝飾器裝飾包裹你的畫布:

<AdornerDecorator ClipToBounds="True"> 
      <Canvas x:Name="DesignerCanvas" 
      ClipToBounds="True" 
      SnapsToDevicePixels="True"/> 
</AdornerDecorator> 

更多信息:https://social.msdn.microsoft.com/Forums/vstudio/en-US/43a2565d-df21-4cf3-aa2a-240d67662945/please-help-me-resolve-a-mistery-with-resource-adorner-and-usercontrol-a-bug?forum=wpf