1
我正在使用MVVM指示燈並且有多個選擇的列表框。在我的Mainpage.xaml我有MVVM light Silverlight multiple頁面加載時的選擇列表框初始選擇
<ListBox Name="ListBox1" ItemsSource="{Binding Items}" Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Transparent" Margin="15,15,18,0" SelectionMode="Multiple" Height="100" />
在MainPage.xaml.cs我有(我不想使用依賴屬性出於某種原因)。
MainPage()
{
ListBox1.SelectionChanged = new SelectionChangedEventHandler(ListBox1_SelectionChanged);
}
void ListBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var listBox = sender as ListBox;
var viewModel = listBox.DataContext as MainViewModel;
viewModel.SelectedItems.Clear();
foreach (string item in listBox.SelectedItems)
viewModel.SelectedItems.Add(item);
}
和這工作正常,並綁定到我的MainViewModel。但是當頁面加載時,我希望默認情況下選擇收集項目的第一項。請讓我知道如何實現這個
什麼是MyList_SelectionChanged。假設ListBox1_SelectionChanged當我嘗試在行ListBox1.SelectedIndex = 0;我得到「ArgumentOutOfRange異常」因爲ListBox1的ItemsSource尚未加載 –
錯誤是因爲綁定尚未發生;看看我的編輯使用更多的MVVM方法,使用另一個屬性來保存'ListBox'中的當前選定項。 –
很酷的工作.....感謝您幫助我 –