使用Dynamic Foreground和LinearGradientBrush

时间:2017-09-28 14:12:35

标签: c# wpf button linear-gradients

我第一次使用WPF应用程序

我有一个按钮,点击它会改变它的前景色。 我觉得常规的颜色很无聊所以我做了一些线性渐变让它看起来更好。

我在C#上写道。         //在这里,我创建了一个线性渐变布什,渐变停止的集合,以及我需要的渐变停止和一个刷转换器将颜色代码#Fxxxx转换为颜色

        BrushConverter bc = new BrushConverter();
        public LinearGradientBrush MetallicBlue= new LinearGradientBrush();
        public GradientStopCollection BlueG = new GradientStopCollection();
        public GradientStop BGS1 = new GradientStop();
        public GradientStop BGS2 = new GradientStop();
        public GradientStop BGS3 = new GradientStop();
        public GradientStop BGS4 = new GradientStop();

//然后我定义每个渐变色标并将其添加到GradientStop Collection

            BGS1.Color = (Color)bc.ConvertFrom("#FF094AAD");
            BGS1.Offset = 0.244;
            BGS2.Color = (Color)bc.ConvertFrom("#FF0745AA");
            BGS2.Offset = 0.988;
            BGS3.Color = (Color)bc.ConvertFrom("#FF286ED1");
            BGS3.Offset = 0.5;
            BGS4.Color = (Color)bc.ConvertFrom("#FF094AAD");
            BGS4.Offset = 0.076;
            BlueG.Add(BGS1);
            BlueG.Add(BGS2);
            BlueG.Add(BGS3);
            BlueG.Add(BGS4);

//在这里,我将Metallic Blue设置为Properties

MetallicBlue.StartPoint = new Point(0.5, 0);
MetallicBlue.EndPoint = new Point(0.5, 1);
MetallicBlue.GradientStops = BlueG;

在我设置颜色前景的点击事件中,它变为空白!文字消失了。

textBlock.Foreground = MetallicBlue;

任何人都可以帮助我。 我想在许多按钮上实现它,但它不太有效。 我错过了什么。

0 个答案:

没有答案