Windows 10 UWP アプリの開発を試して、足を濡らしています。私は Visual Studio 2015 をインストールしましたが、現在、データ バインディングの操作方法を理解しようとしています。
以下は私の単純な XAML です。
<Grid>
<Pivot x:Name="docPivot"
ItemsSource="{Binding}">
<Pivot.ItemTemplate>
<DataTemplate>
<PivotItem Header="{Binding Filename}">
<TextBox Text="{Binding Contents}"/>
</PivotItem>
</DataTemplate>
</Pivot.ItemTemplate>
</Pivot>
</Grid>
これは、関連する部分の Mainpage.xaml.cpp です: (ドキュメントは、文字列ファイル名と文字列コンテンツの 2 つのプロパティを持つ単純な構造体です)。
MainPage::MainPage()
{
InitializeComponent();
auto docs = ref new Vector<Document^>();
auto doc1 = ref new Document();
doc1->Filename = "Filename1";
doc1->Contents = "Contents 1";
docs->Append(doc1);
auto doc2 = ref new Document();
doc2->Filename = "Filename2";
doc2->Contents = "Contents 2";
docs->Append(doc2);
docPivot->ItemsSource = docs;
}
ただし、理解できない問題がいくつかあります。
1 つ目は、各 PivotItem のヘッダーが である代わりに、Filename
両方とも MyApp.Document であり、MyApp は私の名前空間です。
2 つ目の問題は、TextBox にデータ バインディングからのコンテンツが適切に取り込まれており、2 つの PivotItems を切り替えることができるが、Textbox を選択しようとするとすぐに、アプリがアクセス違反でクラッシュすることです。
MyApp.exe の 0x0004CE1E で例外がスローされました: 0xC0000005: アクセス違反の読み取り場所 0x00000000。
ここで私が間違っていることについて何か意見はありますか?