如何获得画布的元素?

威廉

如何获得画布的元素?

我有这个:

<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

如何获得最接近的tkinter画布元素?

来自分类Javascript

如何获得在画布元素上单击鼠标的坐标?

来自分类Dev

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

来自分类Dev

如何使画布元素可点击

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何获得元素的父元素?

来自分类Dev

如何获得元素在最后?

来自分类Dev

如何获得被点击的元素?

来自分类Dev

如何获得音频元素?

来自分类Dev

如何获得对象的元素?

来自分类Dev

如何获得父元素?

来自分类Dev

如何获得儿童元素

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何更改画布中 Html 元素的颜色?

来自分类Java

如何获得选定的JScrollPane元素?

来自分类Dev

如何获得子表格的元素?

来自分类Javascript

如何获得元素的渲染高度?

来自分类Dev

如何获得SOAP元素值

来自分类Dev

如何获得块中的元素?

来自分类Dev

如何获得父母元素的孩子?

来自分类Dev

如何获得所选元素的价值?

来自分类Dev

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