【发布时间】:2018-01-19 08:55:53
【问题描述】:
如何遍历 ContentControls 中的图像?
<Canvas x:Name="canvas" >
<ContentControl Style="{StaticResource DesignerItemStyle}">
<Image IsHitTestVisible="True" Source="Media/cross.png" />
</ContentControl>
<ContentControl Style="{StaticResource DesignerItemStyle}">
<Image IsHitTestVisible="True" Source="Media/cross.png" />
</ContentControl>
</Canvas>
我的尝试不起作用:
var ccs = canvas.Children;
foreach (ContentControl c in ccs)
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(c); i++)
{
var child = VisualTreeHelper.GetChild(c, i);
}
}
【问题讨论】:
-
正确的做法是将
Canvas更改为ItemsControl,将ItemsPanel设置为Canvas,将您的PNG封装为视图模型,并为视图模型为ContentControl和Image。那么你的问题就不是枚举ControlControl.Image属性,而是你应该可以访问的视图模型集合。 -
就您提出的问题而言,上面写满了XY Problem,并且缺少有关您的尝试无效的原因以及具体的详细信息i> 你无法弄清楚。尤其是知道为什么您认为需要以这种方式访问
Image元素,这将有助于其他人回答您的实际问题,而不是您在上面发布的问题。
标签: c# wpf image contentcontrol