Как узнать точное управление в стиле WPF DataGridColoumnHeader

У меня есть DataGridColumnHeader Sytle, в том, что у меня Button для фильтрации. Мне нужно выяснить, какая кнопка работает в данный момент (т. Е. Какая кнопка срабатывает), исходя из того, что мне нужно написать действие триггера для этого соответствующего Button,

Мой стиль XAML

<Style TargetType="{x:Type DataGridColumnHeader}" x:Key="DummyFilterDataGridColumnHeader">
   <Setter Property="Template">
      <Setter.Value>
          <ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
              <Button Command="{Binding Path=DataContext.FilterPopUpCommand, 
                                  RelativeSource={RelativeSource Mode=FindAncestor, 
                                                  AncestorType={x:Type Window}}}">
                  <Button.CommandParameter>
                      <MultiBinding Converter="{StaticResource MultiValueConverterKey}">
                          <Binding RelativeSource="{ RelativeSource Mode=FindAncestor, 
                                                     AncestorType={x:Type cust:DataGrid}}" />
                          <Binding Path="Column" 
                                   RelativeSource="{RelativeSource Mode=TemplatedParent}" />
                      </MultiBinding>
                  </Button.CommandParameter>
              </Button>
          </ControlTemplate>
      </Setter.Value>
   </Setter>
</Style>

Примечание: мне нужно установить видимость кнопки на основе нажатия кнопки. После того, как щелчок всплывающего окна отображается после закрытия всплывающего окна, я хочу установить видимость "Свернутый".

1 ответ

РЕДАКТИРОВАТЬ:

Добавьте саму кнопку в <Button.CommandParameters/>

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

Это даст вам саму кнопку для вашего метода, который вы вызываете при нажатии.

Внутри вашего ClickEventHandler, где вы открываете всплывающее окно, вы можете установить видимость для кнопки, которую вы получили из параметров.

Надеюсь это поможет

Другие вопросы по тегам