我有一些存储在Canvas.Children中的矩形,当遍历Canvas.Children时,我可以使用
for (int i=0; i<Canvas.Children.Count; i++)
{
UIElement ui = Canvas.Children[i];
}
但是我不知道如何将ui转换为System.Windows.Shapes.Rectangle。有人可以帮忙吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
if(ui is Rectangle)
{
Rectangle rect = (Rectangle)ui;
}
答案 2 :(得分:0)
这是基于较早的答复。如collision=hitBox.IntersectsWith(rectList[rcount]);
中所示,它对点击框可能很有用。
Rect[] rectList;
int rcount = 0;
for (int i=0;i < CanvasB.Children.Count; i++) {
UIElement ui = CanvasB.Children[i];
if (ui is Rectangle) {
rectList[rcount] = new Rect(
Canvas.GetLeft(ui),
Canvas.GetTop(ui), (double)ui.GetValue(ActualWidthProperty),
(double)ui.GetValue(ActualHeightProperty)
);
rcount++;
}
}