Связывание WPF Button CommandParameter с самой кнопкой в ​​DataTemplate

У меня есть DataTemplate, который представляет кнопки AppBar, которые я объявляю через коллекцию настраиваемых объектов AppBarCommand.

  public AppBarCommand(RelayCommand command, string buttonstyle)
  {
     Command = command;
     ButtonStyle = buttonstyle;
  }

<DataTemplate>
   <Button Command="{Binding Command}"
           Style="{Binding ButtonStyle, Converter={StaticResource StringNameToStyleConverter}}"/>
</DataTemplate>

Я хотел бы добавить привязку CommandParameter, но параметр должен быть самой кнопкой. Это значит, что я могу установить PlacementTarget всплывающего окна Callisto. Возможно ли это?

Ответ 1

<Button Command="{Binding Command}" 
        CommandParameter="{Binding RelativeSource={RelativeSource Self}}" />

Свойство Command должно быть общей версией RelayCommand: RelayCommand<object>, например.

Ответ 2

Отвечайте, как сказал Миклош Балог, или вы можете:

<Button x:Name="MyButton" Command="{Binding Command}" CommandParameter={Binding ElementName=MyButton ... />