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

时间:2014-12-23 07:19:18

标签: c# wpf

我有一个带有按钮的用户控件,点击该按钮会打开一个新的用户控件。

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

    }

我需要将一个集合传递给新的用户控件。我该怎么办?

2 个答案:

答案 0 :(得分:2)

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

// 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.
};

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

答案 1 :(得分:0)

最好的方法是将对象传递给此Window的DataContext。为此,您需要创建一个存储此参数(ViewModels)和"绑定"的类。到窗口(查看)。您可以将此对象传递给Datacontext。

了解MVVM模型以更好地理解我的意思。

MVVM Pattern Made Simple

MVVM in Depth