grid 绑定会重复附加数据
grid 绑定会重复叠加数据
------解决方案--------------------
返回页面时navigatedto也执行了,这个这么简单的问题,跟踪一下就知道了,你要判断navigatedto是第一次进入,还是从其他页面导航进入,还是从墓碑恢复来的。。。
<ScrollViewer Height="633" HorizontalAlignment="Left" Name="scrollViewer1" VerticalAlignment="Top" Width="441">
<!--show score-->
<Canvas x:Name="CanvasScores">
<TextBlock Text="{Binding Path=LocalizedResources.productName, Source={StaticResource LocalizedStrings}}" Canvas.Top="50" Canvas.Left="0" />
<TextBlock Text="{Binding Path=LocalizedResources.barCode, Source={StaticResource LocalizedStrings}}" Canvas.Top="50" Canvas.Left="200" />
<TextBlock x:Name="TextBlockID" Canvas.Top="100" Canvas.Left="0" />
<TextBlock x:Name="TextBlockName" Canvas.Top="100" Canvas.Left="200" />
</Canvas>
</ScrollViewer>
</Grid>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
loadData();
}
private void loadData()
{
if(belong==null||belong.Length==0)
{
belong = "product";
}
string strSelect = "SELECT * FROM aa";
if (_invoiceEntries!=null)
{
_invoiceEntries.Clear();//为什么clear 不了
}
_invoiceEntries = (Application.Current as App).db.SelectObservableCollection<productType>(strSelect);
int count = _invoiceEntries.Count;
foreach (productType data in _invoiceEntries)
{
TextBlockID.Text += data.Id + Environment.NewLine;
// string Typename = (Application.Current as App).db.GetSingle("select typename from producttype where id=" + data.Id);
TextBlockName.Text += data.typeName + Environment.NewLine;
}
//假如之前已经有10行,再添加一行返回该页面时就会绑定21行。。。有10行重复了
}
------解决方案--------------------
返回页面时navigatedto也执行了,这个这么简单的问题,跟踪一下就知道了,你要判断navigatedto是第一次进入,还是从其他页面导航进入,还是从墓碑恢复来的。。。