我有一个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>
注意:我需要根据Button Click设置Button Visibility。后 在弹出窗口关闭后单击弹出窗口,然后单击我 想要将可见性设置为折叠。
答案 0 :(得分:0)
编辑:
将Button本身添加到<Button.CommandParameters/>
<Button Command="{Binding Command}"
CommandParameter="{Binding RelativeSource={RelativeSource Self}}" />
如果点击,这会将Button本身发送给您正在调用的方法。
在您打开PopUp的ClickEventHandler中,您可以设置从参数中获得的按钮的可见性。
希望这有帮助