C# 在wpf中的用户控件之间传递数据

C# 在wpf中的用户控件之间传递数据,c#,wpf,C#,Wpf,我有一个带有按钮的用户控件,单击该按钮将打开一个新的用户控件 private void Button_Click(object sender, RoutedEventArgs e) { Window window = new Window { Title = "Window2", Content = new UserDataControl2() }; window.ShowDi

我有一个带有按钮的用户控件,单击该按钮将打开一个新的用户控件

private void Button_Click(object sender, RoutedEventArgs e)
    {
        Window window = new Window
        {
            Title = "Window2",
            Content = new UserDataControl2()
        };
        window.ShowDialog();

    }
// Button_Click event
Window window = new Window
{
     Title = "Window2",
     Content = new UserDataControl2("My Data");
};


// User Control class.
string _info;

public UserDataControl2(string info)
{
   _info = info.
};

我需要将集合传递给新用户控件。我该怎么做?

最简单的方法是为用户控件创建自定义构造函数

private void Button_Click(object sender, RoutedEventArgs e)
    {
        Window window = new Window
        {
            Title = "Window2",
            Content = new UserDataControl2()
        };
        window.ShowDialog();

    }
// Button_Click event
Window window = new Window
{
     Title = "Window2",
     Content = new UserDataControl2("My Data");
};


// User Control class.
string _info;

public UserDataControl2(string info)
{
   _info = info.
};

您还可以在用户控件中创建一个方法或属性来接收数据。使用在您的上下文中更合适的对象。

最好的方法是将对象传递到此窗口的DataContext。为此,您需要创建一个类,在该类中存储此参数(ViewModels),并在“绑定”到窗口(View)后创建该类。之后,可以将此对象分配给Datacontext

看看MVVM模型,更好地理解我的意思


只需进入构造器内部!