如何获得画布的元素?

威廉

如何获得画布的元素?

我有这个:

<Canvas x:Name="can" HorizontalAlignment="Left" Height="502" Margin="436,0,0,0" VerticalAlignment="Top" Width="336" OpacityMask="#FFC52D2D">
    <Canvas.Background>
        <SolidColorBrush Color="{DynamicResource {x:Static SystemColors.ActiveCaptionColorKey}}"/>
    </Canvas.Background>
    <Button x:Name="btn_twoThreads" Content="Two Threads" Height="32" Canvas.Left="195" Canvas.Top="460" Width="131" Click="btn_twoThreads_Click"/>
    <Button x:Name="btn_oneThread" Content="One Thread" Height="32" Canvas.Left="10" Canvas.Top="460" Width="131" Click="btn_oneThread_Click"/>
    <Rectangle Fill="#FFF4F4F5" Height="55" Canvas.Left="10" Stroke="Black" Canvas.Top="388" Width="316"/>
</Canvas>

如您所见,XAML代码中的画布上有一些对象。我需要获取Rectangle对象的详细信息:

Rectangle r; 

r = can.Children[2] as Rectangle; //I know this probably doesn't retrieve the rectangle object, but hopefully you can see what I am trying to achieve.

if (r != null)
{
    MessageBox.Show("It's a rectangle");
}

我知道我可以通过在XAML中给它一个变量名来访问Rectangle对象,但是canvas对象正在各种类中被绘制,并且我不想将矩形传递给每个类(如果已经存在)包含在画布中。

杰罗恩·范·朗根(Jeroen van Langen)

您可以尝试以下方法:

// to show that you'll get an enumerable of rectangles.
IEnumerable<Rectangle> rectangles = can.Children.OfType<Rectangle>();

foreach(var rect in rectangles)
{
    // do something with the rectangle
}

Trace.WriteLine("Found " + rectangles.Count() + " rectangles");

OfType<>()之所以非常有用是因为它检查类型,并且只有在它是正确的类型时才产生一个项目。(已经投放)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何延迟加载画布元素

来自分类Dev

如何清除画布的特定元素?

来自分类Dev

如何在Delphi中获得TEdit的画布?

来自分类Dev

如何获得旋转画布矩形的实际宽度

来自分类Dev

如何获得元素的父元素

来自分类Dev

如何获得元素的父元素?

来自分类Dev

如何获得元素在最后?

来自分类Dev

如何获得被点击的元素?

来自分类Dev

如何获得父元素?

来自分类Dev

如何获得儿童元素

来自分类Dev

如何获得音频元素?

来自分类Dev

如何获得元素在最后?

来自分类常见问题

如何设置画布元素的“ z-index”?

来自分类Dev

如何获取画布中图像元素的坐标

来自分类Dev

如何使用CSS设置画布元素的样式

来自分类Dev

如何在画布中捕获元素?

来自分类Dev

如何在画布元素上绘制视频?

来自分类Dev

如何调整包含元素的画布的尺寸?

来自分类Dev

如何设置画布元素的“ z-index”?

来自分类Dev

如何使用python(Selenium)Webscrap画布元素

来自分类Dev

如何通过元素选择移动画布?

来自分类Dev

如何创建包含画布元素的承诺

来自分类Dev

如何在画布中隐藏元素/对象?

来自分类Dev

画布元素在

来自分类Dev

如何获得子表格的元素?

来自分类Dev

如何获得RDD的某个元素?

来自分类Dev

如何获得特定元素的值

来自分类Dev

如何获得高于$ ionicBackdrop的元素?

来自分类Dev

如何获得元素的右侧位置?