C# 鼠标上方的Gridsplitter可见
我想要一个C# 鼠标上方的Gridsplitter可见,c#,wpf,gridsplitter,C#,Wpf,Gridsplitter,我想要一个GridSplitter只有当用户将鼠标放在它上面时才可见。为此,我在其样式中设置了一个DataTrigger。但我不知道这是怎么回事,因为我没有得到想要的行为。它只是保持不变 <GridSplitter ResizeDirection="Columns" ResizeBehavior="BasedOnAlignment" Grid.Column="1"
GridSplitter
只有当用户将鼠标放在它上面时才可见。为此,我在其样式中设置了一个DataTrigger
。但我不知道这是怎么回事,因为我没有得到想要的行为。它只是保持不变
<GridSplitter
ResizeDirection="Columns"
ResizeBehavior="BasedOnAlignment"
Grid.Column="1"
Grid.Row="0"
Grid.RowSpan="2"
Width="8"
Height="Auto"
HorizontalAlignment="Left"
VerticalAlignment="Stretch"
Background="AliceBlue"
Margin="-3 0 0 0">
<GridSplitter.Style>
<Style TargetType="{x:Type GridSplitter}">
<Setter Property="Visibility" Value="Hidden"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver}">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</GridSplitter.Style>
</GridSplitter>
你觉得有什么不对劲吗?
GridSplitter
是否必须以不同的方式设置样式 我明白了,必须使用触发器而不是数据触发器:
<GridSplitter.Style>
<Style TargetType="{x:Type GridSplitter}">
<Setter Property="Background" Value="Transparent"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="AliceBlue"/>
</Trigger>
</Style.Triggers>
</Style>
</GridSplitter.Style>
顺便说一句,我认为如果我将可见性设置为隐藏,我就不能将网格拆分器设置为目标,因此我会切换其背景