【发布时间】:2010-12-22 23:00:19
【问题描述】:
作为 WPF/XAML/MVVM 的新手,我有一个问题。
在我的视图中,我有 2 个列表框,它们派生自 ItemsControl。 在我的视图模型上,我想公开 2 个 ItemsControl 属性,这样我就可以将我的列表框绑定到这个视图模型属性......这样我就可以从视图模型中实现一个命令,让我从ListBox1 到 ListBox2。
想象一下以下 sn-ps 中没有显示的所有非常酷的东西:
查看模型代码:
public int MyStuff1SelectedIndex { get{...} set{...} }
public int MyStuff2SelectedIndex { get{...} set{...} }
public ItemsControl MyStuffItemsControl1 { set; private get; }
public ItemsControl MyStuffItemsControl2 { set; private set; }
查看 XAML:
<ListBox Name="x:MyStuffListBox1" SelectedIndex="{Binding MyStuff1SelectedIndex}.... />
<ListBox Name="x:MyStuffListBox2" SelectedIndex="{Binding MyStuff2SelectedIndex}...../>
鉴于此,我希望我的视图模型能够有一个命令,该命令可以将项目从一个列表框移动到另一个列表框,代码如下:
public void MoveItemCommandExecute(...)
{
var sourceItem = MyStuff1ItemsControl.MagicGetItemExtensionMehod(MyStuff1SelectedIndex);
MyStuff1ItemsControl.MagicRemoveItemExtensionMethod(MyStuff1SelectedIndex);
MyStuff2ItemsControl.MagicAddItemExtensionMethod(sourceItem);
}
那么,基本上,绑定 XAML 会是什么样子?我正在尝试从视图中设置视图模型的属性...
谢谢!
【问题讨论】:
标签: c# wpf mvvm binding itemscontrol