当我更新标签内容时,WPF应用程序页面不会更新

时间:2018-07-18 20:37:27

标签: wpf vb.net

我正在编写一个VB.Net WPF应用程序,该应用程序使用MainWindow上的框架来显示包含多个标签的页面。我会根据页面中的逻辑动态更新这些标签,但是一旦更新了这些标签,就不会在显示页面的框架中反映出来。

这是用于更新 Page2.xaml.vb 中的标签的子项:

Public Sub UpdateLabels(Name As String, microphonefinal As List(Of String))
    Dim labelList As New List(Of Label)
    For i As Integer = 0 To microphonefinal.Count - 1
        For Each Label As Label In Page1Grid.Children
            If Label.Name.Contains(Name) Then
                Label.Content = microphonefinal(i)
                Exit For
            End If
        Next
    Next

End Sub

我使用以下命令从 MainWindow.xaml.vb 调用上述子程序:

 Dim form = New Page2

 If microphonefinal.Count > 0 Then
        form.UpdateLabels("Microphones", microphonefinal)
 End If

我不确定是否是因为我正在创建Page2的新实例。但是,如果不包括在内,则会出现错误:“引用非共享成员需要对象引用”。

我尝试使用 frame.Refresh()来查看是否会使用标签中的新值更新页面,但不会。我还使用了 MsgBox 来显示标签的内容,以确保它们已更改。

我做错什么了吗?还是我想念什么?如果您需要其他信息,请告诉我。谢谢!

1 个答案:

答案 0 :(得分:0)

我设法通过使用您所说的框架来访问类UpdateLabels()的子Page2。因此,调用该子代码是这样的:

frame.Content.UpdateLabels("Microphones", microphonefinal)