XAML
で、次の要素宣言
<ListBox x:Name="LB" Loaded="LB_Loaded" />
これを達成するための2つの方法があります考えると、最も簡単には、Silverlightのツールキットが必要です再帰的方法:
T GetFirstChildOfType<T>(DependencyObject visual) where T:DependencyObject
{
var itemCount = VisualTreeHelper.GetChildrenCount(visual);
if (itemCount < 1)
{
return null;
}
for (int i = 0; i < itemCount; i++)
{
var dp = VisualTreeHelper.GetChild(visual, i);
if (dp is T)
{
return (T)dp;
}
}
for (int i = 0; i < itemCount; i++)
{
var dp = GetFirstChildOfType<T>(VisualTreeHelper.GetChild(visual, i));
if (dp != null) return dp;
}
return null;
}
結果をa同様:建物のterphiのソリューションに、私はあなたに、通常、あなたがタイプを検索するときに探している要素のリストを返すように変更
void ItemsPanelSample_Loaded(object sender, RoutedEventArgs e)
{
var itemsPanel = GetFirstChildOfType<Panel>(LB);
}