如何将字符串从用户控件传递到WPF中的父窗口?

Mik*_*iko 2 c# wpf xaml user-controls

我有自定义UserControl与文本框和按钮.我将这个UC添加到主窗口,现在我希望当我点击UC内的按钮时,来自UC文本框的文本被转移到主窗口中的文本框或标签中.如果我是正确的,我应该制作自定义事件并将其绑定到某个地方或类似的东西,但我找不到任何有用的东西,所以我很乐意提供一些帮助或一个好的教程.

ViV*_*iVi 5

您可以通过使用UC中的属性轻松实现所需,并在MainWindow中订阅此属性的propertychanged事件.

在UserControl中

public class UserControl : BindableBase
{

    private string textboxText;
    public string TextBoxText
    {
       get { return textboxText; }
       set { SetProperty(ref textboxText,value); }
    }

}
Run Code Online (Sandbox Code Playgroud)

因此,当文本框失去焦点时,属性textboxText将更新.

在MainWindow

public class MainWindow
{
    public UserControl UserControlInstance = new UserControl();
    public string textPropertyMainWindow;
    public MainWindow()
    {
       UserControlInstance.TextBoxText.PropertyChanged += PropertyChangedHandler;
    }

    private void PropertyChangedHandler(object obj)
    {
       textPropertyMainWindow = UserControlInstance.TextBoxText;
    }
}
Run Code Online (Sandbox Code Playgroud)

希望你明白这一点.如果需要任何进一步的帮助,还原.