C# 从按钮获取布局
在一个Xamarin表单项目中,我试图从一个点击按钮的事件中获取StackLayout。单击StackLayout时,它可以有1-3个按钮C# 从按钮获取布局,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,在一个Xamarin表单项目中,我试图从一个点击按钮的事件中获取StackLayout。单击StackLayout时,它可以有1-3个按钮 static void PollButtonClick(object sender, EventArgs e) { Button button = sender as Button; button.IsEnabled = false; } 但我需要能够禁用所有按钮。我试着寻找button.GetLayout之
static void PollButtonClick(object sender, EventArgs e)
{
Button button = sender as Button;
button.IsEnabled = false;
}
但我需要能够禁用所有按钮。我试着寻找button.GetLayout之类的东西,这样我就可以在子元素中循环查找所有按钮,但还没有找到任何方法。您可以使用
元素的父属性,然后循环遍历该元素的子元素
,跳过按钮
,如果需要,该按钮就是发送者
例如:
void Handle_Clicked(object sender, System.EventArgs e)
{
foreach (var child in ((sender as Button).Parent as StackLayout).Children)
{
if (child is Button && !child.Equals(sender))
{
child.IsEnabled = false;
}
}
}
您可以使用元素
的父属性
,然后在该元素
的子元素
之间循环,跳过作为发送者的按钮(如果需要)
例如:
void Handle_Clicked(object sender, System.EventArgs e)
{
foreach (var child in ((sender as Button).Parent as StackLayout).Children)
{
if (child is Button && !child.Equals(sender))
{
child.IsEnabled = false;
}
}
}
谢谢!很好用@丹尼尔:没问题,很乐意帮忙,谢谢!很好用@丹尼尔:没问题,很乐意帮忙