Estoy tratando de obligar Comando de Menultem al mandato contenido en UserControl.DataContext
. He encontrado par de pregunta similar, pero la solución de acuerdo a ellos está fallando a mí:Enlazar a DataContext padre dentro DataTemplate
<UserControl ...>
<UserControl.Resources>
<DataTemplate x:Key="TileItemStye">
<Grid Width="100" Height="100">
<Grid.ContextMenu>
<ContextMenu>
<MenuItem Header="Remove"
Command="{Binding DataContext.RemoveItem,
RelativeSource={RelativeSource FindAncestor,
AncestorType=UserControl}}">
</MenuItem>
</ContextMenu>
</Grid.ContextMenu>
</Grid>
</DataTemplate>
</UserControl.Resources>
<Grid>
<ListView ItemsSource="{Binding Path=Files}"
ItemTemplate="{DynamicResource TileItemStye}" >
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
</Grid>
DataContext de control de usuario es ViewModel con ICommand
RemoveItem y ObservableCollection<FileViewModel>
archivos.
lo que es "no" que? - Por favor, explicar el error que se obtiene .... – Carsten
comando no está obligado ... no consigo ningún error, simplemente controlador que está obligado a mando nunca se llama – bkovacic
Creo que el DataContext simplemente debe "llover" en su plantilla, ¿has probado Command = "{Binding Path = RemoveItem}"? – hyp