我正在尝试 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:(文档是一个简单的结构,它只有两个属性,一个字符串文件名和一个字符串内容。)
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;
}
但是,我遇到了两个我无法弄清楚的问题:
第一个是,而不是每个 PivotItem 的标题Filename
,它们都是 MyApp.Document,其中 MyApp 是我的命名空间。
第二个问题是,TextBox 已正确填充数据绑定中的内容,并且可以在两个 PivotItems 之间切换,但是一旦我尝试选择一个 Textbox,应用程序就会因访问冲突而崩溃:
在 MyApp.exe 中的 0x0004CE1E 处引发异常:0xC0000005:访问冲突读取位置 0x00000000。
关于我在这里做错了什么的任何意见?