1

visualTreeHelper.getchildを使用して子オブジェクトを見つけたら、そのオブジェクトの名前、または幅や高さなどのオブジェクトの他のプロパティを取得するにはどうすればよいですか?

すなわち

これは機能しません:

For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(Can1) - 1
Dim ChildVisual As Visual = CType(VisualTreeHelper.GetChild(Can1, i), Visual)
Dim ChildName As DependencyProperty = childVisual.GetValue(Name)

タイプ「名前」の値はsystem.windows.dependencyPropertyに変換できないと表示されます

また、これは機能しません(ただし、少なくともコンパイルされます)。

For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(Can1) - 1
Dim childVisual As Visual = CType(VisualTreeHelper.GetChild(Can1, i), Visual)

Dim GT1 As GeneralTransform = childVisual.TransformToAncestor(Can1)

Dim currentpoint As Point = GT1.Transform(New Point(0, 0))

x = currentpoint.X
y = currentpoint.Y

チャイルドビジュアルにカーソルを合わせると、そのプロパティを確認でき、名前がキャンバス(Can1)にある画像の名前に設定されていることがわかります。ただし、XとYは常に0です。

4

1 に答える 1

0

私はこれをついにネットで見つけました、そしてそれはうまくいくようです。

Dim childVisual As Visual = CType(VisualTreeHelper.GetChild(Can1, i), Visual) 
Dim ChildName As String = ChildVisual.GetValue(Control.NameProperty)
于 2012-06-21T12:53:28.110 に答える