私は、WPFで全く新しいだと私は怒鳴る状況にこだわっている:私はObservableCollection<Person>
としてのItemsSourceとデータグリッドを持ってDataGridComboBoxColumnのdatacontextを特定のクラスに変更するにはどうすればよいですか?
class Person{
string Name;
List<Address> ListAddresses;
}
。このコレクションはMainViewModel
クラスです。
住所を使用してDataGridComboBoxColumn
を作成します。
<DataGrid ItemsSource="{Binding Persons, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
<DataGrid.Columns>
<DataGridComboBoxColumn ItemsSource="{Binding Path=ListAddresses, RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType={x:Type local:Person}}}">
</DataGridComboBoxColumn>
</DataGrid.Columns>
</DataGrid>
私は次のエラーが表示されます
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='PersonApp.UL.ViewModels.Person', AncestorLevel='1''. BindingExpression:Path=ListAddresses; DataItem=null; target element is 'DataGridComboBoxColumn' (HashCode=11440639); target property is 'ItemsSource' (type 'IEnumerable')
MVVM構造を使用しているので、 'MainViewModel'と書いてありますか? –
はい。私はMVVMを使用しています。 –