Обновление ProgressBar при чтении большого XML-файла (WPF) - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть форма WPF, в которой я добавил панель прогесса внизу.Целью программы является чтение XML, а затем обновление для доступа.В течение всего процесса я хочу, чтобы индикатор выполнения обновлялся, поскольку XML огромен.

Я использую XMLReader (см. Код ниже).Этот код срабатывает при нажатии кнопки.Может кто-нибудь, пожалуйста, помогите, как обновить индикатор выполнения (в%) при чтении xml?

Я также хочу, чтобы 2-й индикатор выполнения обновлялся при копировании данных в Access, и для этого у меня есть другая функция, которая срабатываетот Button2.

    Dim ADCECounter As Integer = 0
    Dim settings As New XmlReaderSettings
    settings.DtdProcessing = DtdProcessing.Ignore
    Dim xReader As XmlReader = XmlReader.Create(xml_txtbox_2G.Text, settings)
    Dim ns As XNamespace = XNamespace.Get("raml20.xsd")
    Dim ADCE_DT As New DataTable
    ADCE_DT = DataTables2G.Tables2G.ADCE_DT

    Dim start As DateTime = DateTime.Now
    Dim elapstedtime As Double

    While (Not xReader.EOF)
        If xReader.Name <> "managedObject" Then
            xReader.ReadToFollowing("managedObject")
        End If
        If Not xReader.EOF Then
            Dim managedObject As XElement = XElement.ReadFrom(xReader)
            If CType(managedObject.Attribute("class"), String) = "ADCE" Then
                Call XMLParse2G.XMLParse.ADCE(ADCE_DT, managedObject, ns)
                ADCECounter = ADCECounter + 1
            End If
        End If
    End While

Индикатор выполнения объявлен в MainWindow.xaml (WPF).

<ProgressBar x:Name="ProgressBar1" Grid.ColumnSpan="3" Height="20" Margin="2,2,2,2" Padding="2" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...