0

我正在使用 MVVM 模式和绑定将代码从 Windows 窗体重构为 WPF。

我的 Windows 窗体代码:

searchCriteriaListBox.Items.Add("Cat");

我的 WPF XAML:

<ListBox Height="288" HorizontalAlignment="Left" Margin="18,206,0,0" VerticalAlignment="Top" Width="1042" />

如何使用 WPF 绑定实现相同的“添加”操作?

4

2 回答 2

3

将 Page/Window/UserControl(根级别的)的 DataContext 设置为 ViewModel。

Items在 ViewModel 中创建属性。

使用以下作为 searchCriteriaListBox 的绑定

 {Binding Items, Mode=TwoWay}

<ListBox  ItemsSource="{Binding Items, Mode=TwoWay}" Height="288" HorizontalAlignment="Left" Margin="18,206,0,0" VerticalAlignment="Top" Width="1042" />

在视图模型中,放置一个 AddItemCommand。

在 AddItemCommand.Execute 中,将项目添加到 Items 集合

MVVM Light用于一些可重用的项目,并使用 Model-View-ViewModel 设计模式阅读 WPF 应用程序

于 2012-06-27T14:17:23.340 回答
2

将您的列表框绑定到一个可观察的集合,然后简单地从该集合中添加/删除项目以进行更新,您实际上不应该将数据添加到 xaml 中的框中。

看看这个视频,我发现它在学习 mvvm 时非常有用 - http://www.youtube.com/watch?v=tKfpvs7ZIyo

于 2012-06-28T14:32:01.760 回答