ItemsSourceとDataContext
例えば,トランプのカードを並べて表示したいと思ったとき,
<ItemsControl ItemsSource="{Binding Cards}"> <ItemsControl.ItemTemplate> <DataTemplate> <Views:CardCell CardNumber="{Binding Number}" CardMark="{Binding Mark}"/> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl>
UserControlであるCardCellに依存関係プロパティであるCardNumberとCardMarkを実装してますが,CardCellにViewModelを設けると,DataContextが上書きされて,ItemsSourceの各要素が取得できなくなってる気がします.
自分がどこで誤っているのかわかりません...
- 前提が間違っている (そもそもこんな書き方しない)
- ItemsSourceにはViewModelのリスト等をBindingする?
- 依存関係プロパティのBindingの仕方を工夫する必要がある
本当にDataContextが上書きされているだけなら,ViewModelをItemsSourceに設定するだけでよさそうだけど,一度試したときは動作がおかしかったような...
PrismのViewModelLocator.AutoWireViewModelが要らなかったかな
追記:
普通にできた...