WPF Canvas和DrawingVisuals消失了

时间:2014-07-16 09:26:58

标签: wpf user-controls drawingcontext

我有一组从FrameworkElement派生的用户控件。每个主机都有一个或多个DrawingVisuals。这些绘图视觉效果可以表示文本,图形,进度表等,并用于显示各种HMI设备的状态。

这些在网格中表现良好的工作 - 渲染图像,文本和背景看起来很好,可以设置依赖属性。但是,当我将它们封装在Canvas中时,它们会消失,但是对于表示标签的绘图视觉效果。甚至对于这些,只有DrawingContext.DrawText呈现的文本是可见的。由dc.DrawImage,cd.DrawRectangle等执行的操作不会出现。

有人可以说明为什么会这样。

由于

1 个答案:

答案 0 :(得分:1)

您是否正确定位控件?在网格中,每个项目都有边距,在画布中,您必须为每个元素设置Canvas.Top和Canvas.Left。难道不是那些物品藏在某物下面吗?如果控件实际上是Canvas子项的一部分,或者根本没有添加它们,请尝试使用snoop。

您可以在MSDN

上阅读有关Canvas的更多信息