作爲WPF/XAML/MVVM的新手,我有一個問題。WPF/Silverlight:如何將基於ItemsControl的UI元素綁定到ViewModel上的ItemsControl屬性?
在我看來,我有2個列表框,從ItemsControl派生。 在我的viewmodel上,我想公開兩個ItemsControl屬性,這樣我就可以將我的列表框綁定到這個視圖模型屬性......這樣我就可以實現一個命令,從視圖模型中,我可以移動當前選定的項目從ListBox1到ListBox2。
想象一下,所有的非常酷的東西,未顯示如下片段:
視圖模型代碼:
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是什麼樣子?我試圖從視圖上設置視圖模型的屬性...
謝謝!
感謝Rob/devdigital的回覆。我已經有了ObservableCollection屬性作爲ItemSource和viewmodel的屬性。
我想我的問題是如何我可以將一個項目從一個列表框移動到另一個列表框,如果我沒有對UI控件的引用。
– Wes 2010-12-23 08:59:32