Używam ItemsControl
do przechowywania mojej kolekcji. ItemsPanel
jest Canvas
The ItemTemplate
jest blok Border
>StackPanel
>TextBlocks
Chcę powiązać polecenie w DataTemplate
złapać kliknij na bloku (pozycja z mojej kolekcji)Wiązanie polecenia WPF w DataTemplate
Kod:
<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 dla wejścia wiążące, -1 dla 'komenda = "{Binding SomeCommand}"', DataContext z DataTemplate jest ustawiony do produktu (Model) nie wystarczy ViewModel – AymenDaoudi
. Edytowane. – Den