我想使用 MainMenu 网格中的按钮更改“UserControl1”中按钮的文本。"UserControl1" 是另一个 UserControl("UserControl2") 中的网格的子级。“UserControl2”是位于 MainWindow 中的网格的子项。为了更好地理解:主窗口代码:namespace UserControlTest{ public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); UserControl2 test = new UserControl2(); grd_Main.Children.Add(test); } private void Button_Click(object sender, RoutedEventArgs e) { } }}用户控制2代码:namespace UserControlTest{ public partial class UserControl2 : UserControl { public UserControl2() { InitializeComponent(); UserControl1 uc1 = new UserControl1(); grd_ParentOfUserControl1.Children.Add(uc1); } }}
1 回答
![?](http://img1.sycdn.imooc.com/533e4d5b0001d57502200203-100-100.jpg)
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
试试这个,即你可以UserControl通过转换Grid'sChildren集合中的元素来获得对 a 的引用:
private void Button_Click(object sender, RoutedEventArgs e)
{
UserControl2 uc2 = grd_Main.Children.OfType<UserControl2>().FirstOrDefault();
if (uc2 != null)
{
UserControl1 uc1 = uc2.grd_ParentOfUserControl1.Children.OfType<UserControl1>().FirstOrDefault();
if (uc1 != null)
{
uc1.theButton.Content = "the text...";
}
}
}
- 1 回答
- 0 关注
- 324 浏览
添加回答
举报
0/150
提交
取消