WPF C# 如何更改另一个用户控件中用户控件中按钮的文本?

我想使用 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);

        }

    }

}


莫回无
浏览 325回答 1
1回答

慕盖茨4494581

试试这个,即你可以UserControl通过转换Grid'sChildren集合中的元素来获得对 a 的引用:private void Button_Click(object sender, RoutedEventArgs e){&nbsp; &nbsp; UserControl2 uc2 = grd_Main.Children.OfType<UserControl2>().FirstOrDefault();&nbsp; &nbsp; if (uc2 != null)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; UserControl1 uc1 = uc2.grd_ParentOfUserControl1.Children.OfType<UserControl1>().FirstOrDefault();&nbsp; &nbsp; &nbsp; &nbsp; if (uc1 != null)&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; uc1.theButton.Content = "the text...";&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP