私は を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。
問題は、DataContextfor eachListBoxItemが、 を保持する ViewModel とは異なる ViewModel であることObservableCollectionです。
RemoveボタンをICommand「親」ビューモデルにバインドする方法がわかりません。どんな助けでも大歓迎です。本当にありがとう。