私は をListbox
としてUserControl
持っていDataTemplate
ます。これUserControl
にはButton
、リストからそのアイテムを削除するための があります。
<ListBox x:Name="FileList" ItemsSource="{Binding Files}" >
<ListBox.ItemTemplate>
<DataTemplate>
<Views:FileItem/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
は次のItemsSource
ように定義されます。
ObservableCollection<FileViewModel> m_fileViews = new ObservableCollection<FileViewModel>();
これがUserControl
簡略化されたものです:
<UserControl x:Class="Views.FileItem">
<Canvas x:Name="LayoutRoot">
<TextBlock x:Name="FileName" Text="{Binding FileName}" />
<Button Content="Remove"/>
</Canvas>
</UserControl>
ユーザーがRemove
ボタンをクリックすると、このアイテムが から削除されますObservableCollection
。
問題は、DataContext
for eachListBoxItem
が、 を保持する ViewModel とは異なる ViewModel であることObservableCollection
です。
Remove
ボタンをICommand
「親」ビューモデルにバインドする方法がわかりません。どんな助けでも大歓迎です。本当にありがとう。