Sto usando ItemsControl
per contenere la mia raccolta. Il ItemsPanel
è un Canvas
, il ItemTemplate
è un blocco di Border
>StackPanel
>TextBlocks
voglio associare un comando nel DataTemplate
per prendere il click su un blocco (oggetto della mia collezione)Binding comando WPF in DataTemplate
Codice:
<Grid Grid.Row="1" Grid.Column="1" >
<ItemsControl ItemsSource="{Binding Products}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<helpers:DragCanvas
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
AllowDragging="True"
AllowDragOutOfView="False" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<!-- The border and its content is what I see
on my canvas, I want to bind a command here (on click do something) -->
<Border BorderThickness="1" BorderBrush="Gold">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Name}" />
<TextBlock Text="{Binding Path=Price}" />
</StackPanel>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
+1 per l'ingresso di legame, -1 per il 'Command = "{Binding SomeCommand}"', il DataContext di DataTemplate è impostato al Prodotto (Modello) non al ViewModel – AymenDaoudi
Abbastanza corretto. Modificato. – Den