Здравствуйте.
Есть у меня два абсолютно идентичных шаблона для контейнера ListView
<Style x:Key="LocalValueItemStyle" TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Border CornerRadius="2" BorderThickness="2" BorderBrush="{StaticResource ButtonHoverColor}" Margin="2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Label Content="{Binding Path=linkedObject.LocalizedValue}" />
<TextBlock Text="{Binding Path=linkedObject.ParentElement.LocalizedValue}" FontSize="12" Grid.Row="1" Foreground="Gray" HorizontalAlignment="Left" />
<Button x:Name="DeleteIllItem" Grid.Column="2" Tag="{Binding}" Content="X" Click="AllButtonsClick"/>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
И в разных таблицах мне надо связываться с разными полями
<Label Content="{Binding Path=linkedObject.LocalizedValue}" />
<TextBlock Text="{Binding Path=linkedObject.ParentElement.LocalizedValue}" FontSize="12" Grid.Row="1" Foreground="Gray" HorizontalAlignment="Left" />
Как мне сделать правильно чтобы был один универсальный шаблон но биндинги передавать ему разные??
Думается что нужно как то viewModel писать … но не соображу как.
Пробовал сделать вот так:
<DataTemplate x:Key="MyTemplate">
<Grid>
<Label Content="{Binding Path=linkedObject.LocalizedValue}" />
<TextBlock Text="{Binding Path=linkedObject.ParentElement.LocalizedValue}" FontSize="12" Grid.Row="1" Foreground="Gray" HorizontalAlignment="Left" />
<Button x:Name="DeleteIllItem" Grid.Column="2" Tag="{Binding}" Content="X" Click="AllButtonsClick"/>
</Grid>
</DataTemplate>
Но это тобъект нельзя вставить в другой грид.