Đây là mã của ItemsControl của tôi mà phóng to các mục khi chuột di chuyển qua.
Tôi không quản lý để tăng ZIndex của mục được thu phóng hiện tại để đặt nó lên các mục khác.Sửa đổi ZIndex của một mục trong một ItemsControl
<ItemsControl ItemsSource="{Binding Path=Value}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Name}"
RenderTransformOrigin="0.5 0.5">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="1.5"
ScaleY="1.5" />
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
Tôi đã cố thay đổi trực tiếp ZIndex trong trình kích hoạt nhưng không hoạt động.
Có vẻ như tôi cần thay đổi ZIndex trong ContentPresenter, đó là Parent of the TextBlock trong VisualTree và không trực tiếp trong TextBlock.
<Setter Property="Panel.ZIndex" Value="99" />
Vì vậy, tôi đã cố gắng để thay đổi ZIndex trong ContentPresenter, nhưng nó vẫn không hoạt động
<ItemsControl.ItemContainerStyle>
<Style TargetType="{x:Type ContentPresenter}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Panel.ZIndex" Value="99" />
</Trigger>
</Style.Triggers>
</Style>
</ItemsControl.ItemContainerStyle>
Có ai biết làm thế nào nó hoạt động?
Làm việc tốt cho tôi, sử dụng Canvas. Vì vậy, bạn có thể có một vấn đề khác. Bạn sử dụng loại bảng điều khiển nào? – dowhilefor
Tôi sử dụng WrapPanel. Giải pháp nào phù hợp với bạn? – Nicolas