获取 ContentControl 子级
Get ContentControl Children
如何遍历 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);
}
}
使用 LINQ:
var images = canvas.Children
.OfType<ContentControl>()
.Select(cc => cc.Content as Image)
.Where(img => img != null);
请注意,设置 IsHitTestVisible="True"
是多余的。 True 是默认值。
如何遍历 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);
}
}
使用 LINQ:
var images = canvas.Children
.OfType<ContentControl>()
.Select(cc => cc.Content as Image)
.Where(img => img != null);
请注意,设置 IsHitTestVisible="True"
是多余的。 True 是默认值。