1

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

最好的方法是什么?

谢谢!

4

2 回答 2

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");
    }
}
}

希望有帮助。

于 2013-09-18T17:31:00.023 回答
-2

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

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

//retrieving

RecievingWindowVariable = (castDataType)Application.Current.Properties["accessName"];
于 2013-09-18T17:05:32.877 回答