首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MouseOver上的Gridsplitter visibile

MouseOver上的Gridsplitter visibile
EN

Stack Overflow用户
提问于 2013-09-05 13:16:07
回答 1查看 1.6K关注 0票数 6

我希望只有当用户有鼠标在GridSplitter上时,才能看到它。为此,我正在设置一个DataTrigger的样式。但我不知道是什么错了,因为我没有得到想要的行为。它只是保持不变。

代码语言:javascript
复制
                <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必须采用不同的样式吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-05 13:30:11

我想出来了,必须使用触发器而不是DataTriggers:

代码语言:javascript
复制
<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>

顺便说一句,我认为如果我将Visibility设置为Hidden,我不能针对GridSplitter,所以我切换了它的Background

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18637399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档