0

C ++ Windows 8アプリケーションで、あるXAMLページから別の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 に答える