2012-09-24 108 views
1

我是新來的MVVM,我有與標題的列表視圖checkedlistbox(已綁定在視圖模型暴露的屬性來此CheckedListBox控件)...選擇使用WPF從checkedlistbox項目,MVVM

下面是填充ListCheckBox我的XAML代碼 -

<ListBox x:Name="lstCode" ItemsSource="{Binding Code,Mode=TwoWay}" Grid.Row="1" Style="{StaticResource ListBoxStyle}"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <CheckBox x:Name="chkBox" IsChecked="{Binding IsChecked,Mode=TwoWay}" Content="{Binding Code_Name}" Margin="0" /> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

此控件顯示的項目與複選框列表框中每個項目的正確列表...

應該在什麼視圖模型的代碼,使它以兩種方式工作 - 從數據庫獲取代碼時,它會自動從listcheckedbox選擇的代碼,當用戶選擇一個或多個代碼,在視圖模型應該能夠知道所選擇的項目......

回答

1

一般來說,對於TwoWay結合,你將需要實現INotifyPropertyChanged您要綁定到ViewModel上的接口。

在這種情況下,您的ViewModel必須提供一個屬性,以返回視圖可以綁定到的集合,例如,一個ObservableCollection

ObservableCollection已經允許您添加,更新和刪除項目在該列表中自動通信,查看和視圖模型之間的變化的方式。

其餘的我建議開始挖掘MVVM的深度。要充分利用WPF的功能,您需要了解自己的基礎知識。一個偉大的起點是這個SO線程:MVVM: Tutorial from start to finish?

+0

感謝分享快速的想法....我剛剛檢查了教程鏈接,它可能需要一些時間來閱讀通過我現在不能改變....可以有人請用elobarate,並從代碼的角度快速分享更多的想法.... – siddu

相關問題