gpt4 book ai didi

c# - 委托(delegate) WPF 事件

转载 作者:太空宇宙 更新时间:2023-11-03 22:55:27 24 4
gpt4 key购买 nike

我有一个包含以下 XAML 代码的 WPF 项目:

 <GroupBox Name="GroupBox1">
<GroupBox.Header>
<WrapPanel>
<CheckBox Name="CheckBox1"/>
<Label Name="label1" Content="Extend" MouseLeftButtonUp="Label_Click" />
</WrapPanel>
</GroupBox.Header>
</GroupBox>

我有不止一个这样的 GroupBox。我想通过单击 label1 来更改 Checkbox1.IsChecked 属性。

目前我的代码隐藏中有:

private void Label_Click(object sender, MouseButtonEventArgs e)
{
CheckBox1.IsChecked = !CheckBox1.IsChecked;
}

我想避免为每个 GroupBox 编写该操作。

问题:如何从 Label_Click 中的 sender 动态获取 checkBox1

最佳答案

将此处理程序添加到您的标签中:

private void Label_Click(object sender, MouseButtonEventArgs e)
{
Label lb = (Label) sender;
WrapPanel wp = (WrapPanel) lb.Parent;
CheckBox cb= wp.Children.OfType<CheckBox>().FirstOrDefault();
if (cb!= null)
{
cb.IsChecked = !cb.IsChecked;
}
}

编辑了有关 vc 74 注释的代码。 @vc 74:谢谢

关于c# - 委托(delegate) WPF 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45611779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com