来自另一个视图/类的WPF更新列表框



对WPF非常陌生。我正在努力实现一些相对简单但被证明是困难的事情。

基本上,我想添加一个项目到我的列表框。列表框是在我的LiveView xaml/类中创建的,但是我想在我的SettingsView类中按下按钮时更新列表框的内容。

SettingsView类:

public partial class SettingsView : UserControl
{
public SettingsView()
{
InitializeComponent();
}
private void StartButton_Click(object sender, RoutedEventArgs e)
{
var myLiveView = new LiveView();
myLiveView.updateListBox();
}

}

LiveView类:

public partial class LiveView : UserControl
{
public LiveView()
{
InitializeComponent();
}
public void updateListBox()
{
CommentListBox.Items.Add("Another item");
}
}

如果我执行以下操作,代码就会工作,并且在启动时成功地将一个项目添加到我的列表中。

public partial class LiveView : UserControl
{
public LiveView()
{
InitializeComponent();
CommentListBox.Items.Add("Another item");
}
}

为什么我只能在Liveview类()内更新UI ?正确的做法是什么?我如何从另一个类/视图更新我的ListBox ?我创建的LiveView实例似乎没有做任何事情。如有任何帮助,我将不胜感激,谢谢。

当你创建一个新的用户控件实例时,它现在是空的,要处理这个问题,请检查用户控件中关于父级和子级导航的委托和事件。

固定使用MVVM,使整个过程更容易。

最新更新