OnClick 改变另一个元素的 ZIndex
OnClick change ZIndex of another element
<Button BorderThickness="0" Background="Transparent" Grid.Column="0" Padding="0" Grid.Row="0" Focusable="False" Width="Auto" >
<Button.Content>
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Margin="0,0,6,0" Grid.Column="0" Text="Filter" Foreground="#FFC0B6D1" FontFamily="Segoe UI Semibold" FontSize="14" />
<Image Grid.Column="1" Margin="0,4,0,0" VerticalAlignment="Center" Height="6" Width="12" Source="/SizeStream.WPF;component/Assets/filter-arrow-light.png"/>
</Grid>
</Button.Content>
<Button.Triggers>
<EventTrigger RoutedEvent="UIElement.PreviewMouseDown">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation BeginTime="0:0:0.00" Storyboard.TargetName="FiltersPanel" Storyboard.TargetProperty="Panel.ZIndex" From="2" To="3" Duration="0:0:00.2"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
我有这个按钮。为此,我添加了 EventTrigger
,它必须更改名称为 FiltersPanel
:
的元素的 ZIndex
<Grid Margin="0,0,0,0" Panel.ZIndex="2" ClipToBounds="False" Grid.RowSpan="2" Grid.ColumnSpan="3" VerticalAlignment="Bottom" Name="FiltersPanel">...</Grid>
但是 Onclick 我得到未处理的异常,我不知道为什么以及要做什么。
您应该将动画更改为Int32Animation
,并且在该动画中不要使用附加的属性 Panel.ZIndex
,只需重命名为ZIndex
。所以代码看起来像那样。
<Int32Animation BeginTime="0:0:0.00" Storyboard.TargetName="FiltersPanel" Storyboard.TargetProperty="ZIndex" From="2" To="3" Duration="0:0:00.2"/>
<Button BorderThickness="0" Background="Transparent" Grid.Column="0" Padding="0" Grid.Row="0" Focusable="False" Width="Auto" >
<Button.Content>
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Margin="0,0,6,0" Grid.Column="0" Text="Filter" Foreground="#FFC0B6D1" FontFamily="Segoe UI Semibold" FontSize="14" />
<Image Grid.Column="1" Margin="0,4,0,0" VerticalAlignment="Center" Height="6" Width="12" Source="/SizeStream.WPF;component/Assets/filter-arrow-light.png"/>
</Grid>
</Button.Content>
<Button.Triggers>
<EventTrigger RoutedEvent="UIElement.PreviewMouseDown">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation BeginTime="0:0:0.00" Storyboard.TargetName="FiltersPanel" Storyboard.TargetProperty="Panel.ZIndex" From="2" To="3" Duration="0:0:00.2"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
我有这个按钮。为此,我添加了 EventTrigger
,它必须更改名称为 FiltersPanel
:
<Grid Margin="0,0,0,0" Panel.ZIndex="2" ClipToBounds="False" Grid.RowSpan="2" Grid.ColumnSpan="3" VerticalAlignment="Bottom" Name="FiltersPanel">...</Grid>
但是 Onclick 我得到未处理的异常,我不知道为什么以及要做什么。
您应该将动画更改为Int32Animation
,并且在该动画中不要使用附加的属性 Panel.ZIndex
,只需重命名为ZIndex
。所以代码看起来像那样。
<Int32Animation BeginTime="0:0:0.00" Storyboard.TargetName="FiltersPanel" Storyboard.TargetProperty="ZIndex" From="2" To="3" Duration="0:0:00.2"/>