【发布时间】:2015-10-30 08:08:08
【问题描述】:
我正在尝试 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。
关于我在这里做错了什么有什么意见吗?
【问题讨论】:
标签: c++ xaml data-binding uwp