【问题标题】:How do I make silverlight button transparent while showing the image?如何在显示图像时使 silverlight 按钮透明?
【发布时间】:2010-03-16 05:13:06
【问题描述】:

我有一个以编程方式创建的按钮,它的内容是一个带有图像和文本块的堆栈面板。这一切都很好。

我想让图像和文本后面的按钮透明,使图像和文本看起来像坐在背景上,但仍然具有按钮的所有属性(即有人点击它仍然注册的按钮区域按钮点击事件)。

我一直在处理不透明度,但我处理按钮的每个不透明度似乎也将整个按钮(包括图像和文本)设置为该不透明度值。

如何使按钮不透明,同时使文本和图像内容仍然可见?

哦,这是silverlight 3。提前致谢。

【问题讨论】:

    标签: silverlight silverlight-3.0 button transparency


    【解决方案1】:

    您将不得不对按钮进行模板化,并从按钮的默认样式中移除您不想保留的渐变、焦点元素等。听起来您可能只想保留内容演示者并摆脱背景并将鼠标悬停在“发光”渐变上。如果您希望整个按钮区域拦截鼠标事件而不仅仅是底层图像和文本内容,您可能必须将 StackPanel 内容的背景设置为透明。

    Scott Gu 有一个good tutorial here 了解创建控件模板的基础知识。

    如果您使用的是 Expression Blend,则可以很容易地右键单击按钮并选择编辑模板 -> 编辑副本以将默认样式复制到按钮的新样​​式资源中,然后您可以在其中直接操作模板混合。

    【讨论】:

    • 谢谢丹,我想这样就可以了。
    【解决方案2】:

    您可以覆盖按钮的模板属性以创建一个空网格,如下所示:

    <Button>
            <Button.Template>
                <ControlTemplate TargetType="Button">
                <Grid />
            </ControlTemplate>
        </Button.Template>
    </Button>
    

    如果需要,这可以设置为可重复使用的样式。

    【讨论】:

    • 感谢您的意见,我会先尝试一下,因为它看起来最简单。
    猜你喜欢
    • 2010-10-02
    • 1970-01-01
    • 2011-06-09
    • 2020-06-11
    • 2018-12-23
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多