2012-06-27 106 views
0

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

我的Windows窗体代码:

searchCriteriaListBox.Items.Add("Cat"); 

我的WPF XAML:

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

如何实现使用WPF绑定相同的 '添加' 行动?

+0

我不认为一行代码就足够让我们能够告诉你如何最有效地转化这个.. 。 – BoltClock

回答

3

设置页面/窗口/用户控件的DataContext(永远在根级别),ViewModel。

在ViewModel中创建属性Items

使用以下作为用于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,添加物品到物品收集

使用MVVM Light可重复使用的物品位,读WPF Apps With The Model-View-ViewModel Design Pattern

2

您绑定列表框可观察集合,然后只需添加/删除此项目集合更新,你不应该真的在xaml的框中添加数据。

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