2

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>

コンボボックスまたはdatepickerの値が変更されるたびに、グリッドのitemsSourceが更新されるため、これは適切です。

私が今抱えている問題は、ViewModelで、データグリッドのItemSourceにアクセスして、リストのアイテムを削除するか、新しいアイテムを追加できるようにしたいということです。

このように設定した場合、itemssourceにアクセスするにはどうすればよいですか?

どうもありがとう。

4

1 に答える 1

4

ViewModelに3つのプロパティを設定するのはどうですか。

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;}
 }

次に、datepicker、combobox、およびdatagridをそれぞれの値にバインドします。

お役に立てれば。

于 2010-06-11T10:22:35.777 に答える