如何在wpf页面和窗口之间传递数据

时间:2013-09-18 16:59:06

标签: c# wpf window

我正在开发一个WPF和C#应用程序,我在页面和窗口之间传递数据时遇到问题。

最好的方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用delegate事件执行此操作。 例如,在您的MainWindow中:

namespace WpfApplication1
{
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        Page1.onNameSend += Page1_onNameSend;
    }

    void Page1_onNameSend(string Name)
    {
        Console.WriteLine(Name);
    }
}
}

然后在你的Page1:

namespace WpfApplication1
{
public partial class Page1 : Page
{
    public delegate void SendName(string Name);

    public static event SendName onNameSend;

    public Page1()
    {
        InitializeComponent();
    }

    private void SendButton(object sender, RoutedEventArgs e)
    {
        onNameSend("Name to Send");
    }
}
}

希望有所帮助。

答案 1 :(得分:-2)

我最近有这个问题,并且能够使用公共应用程序属性解决。我不知道这是否是“最佳实践”,事实上我对此表示怀疑,但它可以解决问题。

//creating a new property
Application.Current.Properties["accessName"] = newPropertyValue;

//retrieving

RecievingWindowVariable = (castDataType)Application.Current.Properties["accessName"];