首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何接受Expander.Header中的下拉行为?

如何接受Expander.Header中的下拉行为?
EN

Stack Overflow用户
提问于 2010-05-27 01:50:11
回答 2查看 1.6K关注 0票数 3

当用户在标题区域内单击时,我想防止Expander展开/折叠。这基本上是与Q 1396153相同的问题,但我希望有一个更有利的答案:)

有没有一种非侵入性的方法来做到这一点?我不确定如何将行为附加到Expander.Header内容以防止鼠标点击。我愿意通过固定的网格布局在扩展器之外的内容中浮动,但我对解决方案不感兴趣。想法?

XamlPad示例XAML:

代码语言:javascript
复制
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
    <Expander>
    <Expander.Header><TextBlock>
        When I click this text, 
        I don't want to trigger expansion/collapse! Only when I click the 
        expander button do I want to trigger an expand/collapse!
    </TextBlock></Expander.Header>

    <Grid Background="Red" Height="100" Width="100" >
    </Grid>
    </Expander>
</Page>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-27 06:06:36

您可以阻止应用程序处理文本框上的鼠标单击。

XAML:

代码语言:javascript
复制
<Expander>
    <Expander.Header>
        <TextBlock MouseDown="TextBlock_MouseDown"> 
            When I click this text,  
            I don't want to trigger expansion/collapse! Only when I click the  
            expander button do I want to trigger an expand/collapse!
                    </TextBlock>
        </Expander.Header>
    <Grid Background="Red" Height="100" Width="100" >
    </Grid>
</Expander>

代码隐藏:

代码语言:javascript
复制
private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e)
{
    e.Handled = true;
}
票数 3
EN

Stack Overflow用户

发布于 2010-05-27 02:24:22

我不知道这是不是令人讨厌,但是,我已经将内容移出了Expander.Header,并做了一些网格/固定布局/Panel.ZIndex技巧,使内容看起来像是在Expander.Header...but中,而不是。这是可行的,但太可怕了。

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

https://stackoverflow.com/questions/2915435

复制
相关文章

相似问题

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