2010-06-11 101 views
2

我有一個dataSource,其itemsSource綁定到一個使用轉換器的多變換器。datagrid的MVVM屬性itemssource

<toolkit:DataGrid AutoGenerateColumns="False"> 
     <toolkit:DataGrid.ItemsSource> 
      <MultiBinding Converter="{StaticResource ProfileConverter}"> 
       <Binding ElementName="ComboBoxProfiles" Path="SelectedValue" /> 
       <Binding ElementName="DatePickerTargetDate" Path="SelectedDate" />     
      </MultiBinding> 
     </toolkit:DataGrid.ItemsSource> 

這很好,因爲每當組合框或日期選擇器更改值時更新網格的itemsSource。

我現在的問題是,在我的ViewModel我想能夠訪問我的DataGrid的ItemSource並刪除列表中的項目或添加新的。

當我把它設置成這樣的時候,如何訪問itemssource?

非常感謝。

回答

4

如何具有在視圖模型三個屬性:

public DateTime? SelectedDate 
{ 
    get{return _selectedDate;} 
    set 
    { 
     _selectedDate = value; 
     UpdateItemsSource(); 
     OnPropertyChanged("SelectedDate"); 
    } 
} 
public object SelectedComboBoxValue 
{ 
    get{return _selectedComboBoxValue;} 
    set 
    { 
     _selectedComboBoxValue= value; 
     UpdateItemsSource(); 
     OnPropertyChanged("SelectedComboBoxValue"); 
    } 
} 
private void UpdateItemsSource() 
{ 
    _itemsSource = //Some fancy expression based on the two fields. 
    OnPropertyChanged("ItemsSource"); 
} 
public IEnumerable ItemsSource 
{ 
    get{return _itemsSource;} 
} 

然後結合日期選擇器,組合框和數據網格到相應的值。

希望這會有所幫助。

+0

非常感謝。這就是我需要的東西。很好地工作。 – 2010-06-11 14:34:26