0
所以只是试图以编程方式遍历一个特定的stacklayout的子元素,并获得这些元素的子元素。我迭代的第一个元素给了我一个Children
对象的选项。作为这样:通过元素迭代迭代的问题
var TextContainerChildren = TextContainer.Children;
TextContainer是StackLayout拿着一束其它stacklayouts的。因此:
<StackLayout x:Name="TextContainer" Padding="10,10,10,0">
<Label Text="What's New" FontSize="20" />
<!--<StackLayout Orientation="Vertical" Padding="0,10,0,10">
<Label Font="15" Text="Version 2.3.1 - January 9, 2017" TextColor="Blue" />
<Label Font="15" Text=" • Breaking News Push Notifications. Users can now subscribe to breaking news push notifications that display an alert on your phone when a breaking news story is published." />
<Label x:Name="LabelEmailHelp" Font="15" Text="" />
</StackLayout>-->
<StackLayout Orientation="Vertical" Padding="0,10,0,10">
<Label Font="15" Text="Version 2.3.1 - January 12, 2017" TextColor="Blue" />
<Label Font="15" Text=" • Minor bug fixes." />
<Label x:Name="LabelEmailHelp" Font="15" Text="" />
</StackLayout>
</StackLayout>
所以现在我试图通过TextContainer.Children
迭代这样:
foreach(Xamarin.Forms.View el in TextContainerChildren)
{
if(el.GetType() == typeof(Xamarin.Forms.StackLayout))
{
var j = el;
}
}
的问题是,el
不让我访问的孩子们。 (试图做el.Children
不起作用,我的意思是,当我在调试中查看对象时,没有Children
)。但是,当我正在调试时,我可以看到el
是一个StackLayout,在base
中我看到了Children对象。
有什么办法可以访问base
的元素吗?如果没有,任何人都知道我怎么能读一个迭代元素的孩子?
是啊,只是想通了这一点,就会接受你的答案时,我可以。谢谢。 – jdmdevdotnet