2

一連の境界線を含む grid1 があり、すべての境界線には 1 つのラベルが含まれています。

XAML サンプル

<grid1>
  <border>
    <label />
  </border>
  <border>
    <label />
  </border>
</grid1>

ラベルをループしようとしていますが、ラベルにアクセスできません。

foreach(var item in grid1.Children)
{

}

このループは子としてボーダーのみを返しますが、さらに深くする必要があり、方法がわかりません。

4

1 に答える 1

2

あなたは国境の子供を取得する必要があります:

foreach(var item in grid1.Children)
{
     Label label = null;
     var border = item as Decorator;
     if (border != null)
          label = border.Child as Label;

     if (label != null)
     {
         // The label will be here...
     }
}

ラベルに名前を指定する場合は、FrameworkElement.FindNameを呼び出すだけで、各ラベルを直接検索できることに注意してください。

于 2012-08-08T17:28:25.950 に答える