wpf - 当我更新标签的内容时,WPF 应用程序页面没有更新
问题描述
我正在编写一个 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显示标签的内容以确保它们已更改。
难道我做错了什么?或者有什么我想念的吗?请让我知道是否还有您需要帮助的信息。谢谢!
解决方案
正如你所说,我设法通过使用框架来访问类的子UpdateLabels()
类。Page2
所以要调用子我这样编码:
frame.Content.UpdateLabels("Microphones", microphonefinal)
推荐阅读
- python - 马尔可夫链发生器
- javascript - 单击添加类,然后延迟删除类(超时功能)
- arrays - 将 nil 排序到可选字符串数组的末尾
- python - Python For Loop - 关于第二个循环的问题
- css - 我可以在帧之间设置填充模式吗?
- marklogic-9 - 数据中心框架和 CPF
- postgresql - Postgresql 对相似词进行分组和统计
- api - 让 Postman 使用身份验证 cookie 查询网站的最新/最佳方法是什么?
- video - 并排加入 3 个视频时为“缩放”过滤器指定的输入过多
- java - 从 Firestore 获取 ArrayList 和文档名称