尝试从UWP中的c#中的PDF提取文本
如何清除“列表”,使其第二次工作,依此类推?我测试了您的代码片段,它将抛出以下异常,如您所述: System.ArgumentOutOfRangeException:'索引超出范围。必须为非负数且小于集合的大小。” 实际上,对于这个异常,正如mkl所说,它是由尝试从UWP中的c#中的PDF提取文本,c#,pdf,c#-4.0,uwp,uwp-xaml,C#,Pdf,C# 4.0,Uwp,Uwp Xaml,如何清除“列表”,使其第二次工作,依此类推?我测试了您的代码片段,它将抛出以下异常,如您所述: System.ArgumentOutOfRangeException:'索引超出范围。必须为非负数且小于集合的大小。” 实际上,对于这个异常,正如mkl所说,它是由SelectedIndexis“-1”的值引起的,ResultList[index]引发了异常。您调用了FvPDF\u SelectionChanged(null,null)用于显示第一页结果,此方法将获得SelectedIndex以供使用
SelectedIndex
is“-1”的值引起的,ResultList[index]
引发了异常。您调用了FvPDF\u SelectionChanged(null,null)
用于显示第一页结果,此方法将获得SelectedIndex
以供使用,但实际上同时SelectedIndex
默认为“-1”,因为没有选择任何项目。详情请参考酒店
因此,如果要显示第一个识别页面结果,应在加载pdf文件后将SelectedIndex
设置为0。更新代码如下:
this.DisplayText.Text = ResultList[index];
ResultList
属于什么类型,您如何初始化它?私有列表ResultList;public MainPage(){this.InitializeComponent();fvPDF.SelectionChanged+=fvPDF_SelectionChanged;ResultList=new List();}//这是位于该页面之上的代码您是否检查了index
是否为负值?如代码中所述,索引设置为所选页面,所以它不可能是负面的。这里的主要任务是清除并重置所有值,以便第二次执行。我使用了ResultList.Clear();但是没有起作用。@Naveen“这不可能是消极的”-它可以,见Sunteen的答案。请注意,当你在这里问一个问题并且(隐式地)被要求检查一个值时,不要简单地忽略它。
this.DisplayText.Text = ResultList[index];
// Show first page recognition result
//FvPDF_SelectionChanged(null, null);
fvPDF.SelectedIndex = 0;