none
使用blend创建自定义的tabitem,如何使mouseover时item字体颜色更亮 RRS feed

  • 问题

  • 设置tabitem的content颜色后,怎么在编辑模板中修改content 的亮度,好像只能使它 的亮度降低,无法让字体的亮度更强
    • 已编辑 Rogerguo 2014年11月20日 12:35
    2014年11月20日 12:34

答案

  • 你所说的亮度提升应是指元素的颜色变为更亮的颜色.通过调整RGB值能够实现.

    如果让我来做, 我会有两种方法:

    1.在调色板中调出暗色(一般状态颜色), 以及想要的亮色(MouseOver状态的颜色), 然后通过触发器改变颜色(直接改变或动画改变)

    2.(仅限可以设置纯色暗背景的情形)在调色板中调出想要的亮色, 将控件的初始透明度调低直至达到想要的亮色效果, 通过触发器调节透明度

    其他的例如用透明蒙版或两层叠加等方法都与上述两种类似.

    一般的,RGB值越大, 颜色也就会越亮, 你也可以通过获取当前颜色, 然后增加RGB值(但每项不要超过0xFF, 即255), 这样也能得到你想要的变亮效果. 但操作起来比较麻烦, 需要编写代码实现.

    • 已标记为答案 Rogerguo 2014年11月24日 7:49
    2014年11月21日 2:13

全部回复

  • 你所说的亮度提升应是指元素的颜色变为更亮的颜色.通过调整RGB值能够实现.

    如果让我来做, 我会有两种方法:

    1.在调色板中调出暗色(一般状态颜色), 以及想要的亮色(MouseOver状态的颜色), 然后通过触发器改变颜色(直接改变或动画改变)

    2.(仅限可以设置纯色暗背景的情形)在调色板中调出想要的亮色, 将控件的初始透明度调低直至达到想要的亮色效果, 通过触发器调节透明度

    其他的例如用透明蒙版或两层叠加等方法都与上述两种类似.

    一般的,RGB值越大, 颜色也就会越亮, 你也可以通过获取当前颜色, 然后增加RGB值(但每项不要超过0xFF, 即255), 这样也能得到你想要的变亮效果. 但操作起来比较麻烦, 需要编写代码实现.

    • 已标记为答案 Rogerguo 2014年11月24日 7:49
    2014年11月21日 2:13
  • 這應該是FontColor? 不同的 RGB有不同的亮度效果。

    請你貼上有關的code以便查看


    大家一齊探討、學習和研究,謝謝!
    MCSD, MCAD, MCSE+I, MCDBA, MCDST, MCSA, MCTS, MCITP, MCPD,
    MCT, Microsoft Community Star(TW & HK),
    Microsoft MVP for VB.NET since 2003
    My MSMVP Blog

    請記得將對您有幫助的回覆標示為解答以幫助其他尋找解答及參與社群討論的朋友們。
    Please remember to clickMark as Answer on the post that helps you. This can be beneficial to other community members reading the thread.

    2014年11月21日 2:13
  • 首先, 如果是文字的话, 设置颜色的属性是Foreground

    其次, 由于Rogerguo提出在Blend中完成工作, 因此我使用Blend来说明.

    如下图:

    [blend调色板]

    当你在右侧色带上选择了一个颜色, 那么就可以在左侧的区域进行亮度的调节.

    当你选定了一个亮度之后, 其对应的ARGB值即会出现在右下角框中.

    此时此RGB值(不考虑透明度Alpha, 即A) 到纯白色#(FF)FFFFFF会逐渐变亮, 到纯黑色#(FF)000000会逐渐变暗.

    两条亮度变化方向上的插值即是该颜色的不同亮度的值, 该插值需要实际使用的时候自行调节.

    2014年11月21日 3:42