0

我想在 C++ Windows 8 应用程序中将一个简单的类对象从一个 XAML 页面传递到另一个页面。我在 App.xaml.h 中创建了一个类:

ref class StaticInfo sealed {
    public:
        property Platform::String^ sName;
    };

我已经将此添加到 MainPage.xaml 以导航到 Page2.xaml:

    void StaticApp::MainPage::Button_Click_1(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
    StaticInfo^ StaticData;
    StaticData->sName=ClickText->Text;
    Frame->Navigate(Page2::typeid,StaticData);
}

然后在Page2中接收到智能指针:

void Page2::OnNavigatedTo(NavigationEventArgs^ e)
{
    (void) e;   // Unused parameter
    StaticInfo^ data = (StaticInfo^)e->Parameter;
}

导航到 Page2 时出现此错误:

StaticApp.exe 中 0x003A5EE1 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000010。

谁能告诉我具体的做法。如果可能,请提供一个链接,教授在页面之间传递数据。如果我想传递不同类的多个对象怎么办?

4

1 回答 1

0

在开始使用它之前,您需要实际创建 StaticInfo 对象:

 StaticInfo^ StaticData = ref new StaticInfo();
 StaticData->sName=ClickText->Text;
于 2013-03-15T13:50:18.953 回答