Переопределение события стиля из ресурса

Здравствуйте.

Есть у меня такой вот стиль коотрый расположен в App.xml чтобы все его видели.

<Style x:Key="LocalValueItemStyle" TargetType="ListViewItem">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Border Style="{StaticResource ContainerBorder}" Background="{StaticResource DialogBackgroundColor}" 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}" />
                                <Label Content="{Binding Path=linkedObject.ParentElement.LocalizedValue}" Margin="5,0,0,0" FontSize="12" Grid.Row="1" Foreground="Gray" HorizontalAlignment="Left" />
                                <Button x:Name="DeleteIllItem" Grid.Column="0" Grid.ColumnSpan="2" Grid.RowSpan="2" HorizontalAlignment="Right" VerticalAlignment="Top" Tag="{Binding}" Content="X"/>
                            </Grid>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

В этом стиле есть кнопка. Затем я в разных формах делаю разные списки Listbox где использую этот стиль для элементов ContainerStyle.

Мне нужно чтобы в каждой форме был свой обработчик события нажатия этой кнопки. Но как это сделать вообще не пойму.
Если прописать жестко в стиле кнопки то он просит событие одно на всех в файле App.cs но так не нужно.
Если EventSetter поставить то аналогичный результат.

Как быть кто знает?

эх … в общем придумал такой вот костыль.

в шаблоне стиля пишем:

<Button x:Name="DeleteIllItem" Grid.Column="0" Grid.ColumnSpan="2" Grid.RowSpan="2" HorizontalAlignment="Right" VerticalAlignment="Top" Tag="{Binding}" Content="X" 
                                        CommandParameter="{Binding RelativeSource={RelativeSource Self}}" Command="{Binding DeleteItemCmd,RelativeSource={RelativeSource AncestorType=Window}}"/>

Затем создаем класс команды:

public class DeleteListItemCommand:ICommand
    {
        Action<object, RoutedEventArgs> actionEvent = null;

        #region ICommand Members  

        public bool CanExecute(object parameter)
        {
            return true;
        }
        public event EventHandler CanExecuteChanged
        {
            add { CommandManager.RequerySuggested += value; }
            remove { CommandManager.RequerySuggested -= value; }
        }

        public void Execute(object parameter)
        {
            if (parameter is Button btn && actionEvent != null)
            {
                actionEvent(btn, new RoutedEventArgs(Button.ClickEvent));
            }
        }

        public DeleteListItemCommand(Action<object, RoutedEventArgs> act)
        {
            this.actionEvent = act;
        }

        #endregion
    }

И затем в каждой форме где требуется эта команда прописываем поле.

public DeleteListItemCommand DeleteItemCmd { get; set; } 

и в конструкторе привязываем на локальный обработчик
DeleteItemCmd = new DeleteListItemCommand(AllButtonsClick);