代码之家  ›  专栏  ›  技术社区  ›  SpoocyCrep

渐变不透明度不起作用(wpf)

  •  2
  • SpoocyCrep  · 技术社区  · 8 年前

    我的应用程序在画布上有一个带有渐变的文本,我将其移动并更改不透明度

    textblock.Foreground = new SolidColorBrush(
        Color.FromArgb((Byte)opacitiycounter, 255, 255, 0));
    

    这很好-但对于SolidColorBrush。我遇到的挑战是改变给定梯度的不透明度:

    public Points(TextBlock t, GradientBrush color) {
        color.Opacity = opacitiycounter;
        t.Foreground = color;
    }
    

    不透明度函数似乎不起作用,我找不到另一种方法来控制给定的渐变不透明度,我是否需要每次使用旧值创建整个新渐变,并在每个点更改alpha?如果是这样的话,我怎么复制渐变呢?

    编辑: 我试图在wpf中动态编辑现有的渐变。

    1 回复  |  直到 8 年前
        1
  •  3
  •   Clemens    8 年前

    MSDN :

    不透明度属性的值表示为介于0.0和1.0之间的值。

    所以这应该管用:

    color.Opacity = (double)opacitycounter / 255;