首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF TextBlock梯度

WPF TextBlock梯度
EN

Stack Overflow用户
提问于 2014-06-02 08:19:59
回答 3查看 2.1K关注 0票数 0

如何将XAML转换为c#?

代码语言:javascript
复制
<TextBlock x:Name="Cell0" FontSize="72" HorizontalAlignment="Center" VerticalAlignment="Center" Padding="50">
            <TextBlock.Background>
                <RadialGradientBrush>
                    <GradientStop Color="Cyan" Offset="0"/>
                    <GradientStop Color="White" Offset="1"/>
                </RadialGradientBrush>
            </TextBlock.Background>1</TextBlock>

我已经试过这样做了

代码语言:javascript
复制
RadialGradientBrush radialGradientBrush = new RadialGradientBrush();
            radialGradientBrush.GradientOrigin = new Point(5, 5);
            radialGradientBrush.Center = new Point(5, 5);
            radialGradientBrush.RadiusX = 5;
            radialGradientBrush.RadiusY = 5;
            radialGradientBrush.GradientStops.Add(new GradientStop(Colors.Cyan, 0.0));
            radialGradientBrush.GradientStops.Add(new GradientStop(Colors.White, 1));
Cell0.Background = radialGradientBrush

然而,这不起作用,然后我尝试将5的半径替换为10,青色出现,但不是作为一个梯度。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-02 08:28:52

只初始化在XAML中所做的相同元素,因此在您的情况下不要设置GradientOriginCenterRadiusX/RadiusY,并将其简化为

代码语言:javascript
复制
RadialGradientBrush radialGradientBrush = new RadialGradientBrush();
radialGradientBrush.GradientStops.Add(new GradientStop(Colors.Cyan, 0.0));
radialGradientBrush.GradientStops.Add(new GradientStop(Colors.White, 1));
Cell0.Background = radialGradientBrush;
票数 0
EN

Stack Overflow用户

发布于 2014-06-02 08:36:14

试试这个

代码语言:javascript
复制
   RadialGradientBrush myRadialGradientBrush = new RadialGradientBrush();
    myRadialGradientBrush.GradientOrigin = new Point(0.5, 0.5);
    myRadialGradientBrush.Center = new Point(0.5, 0.5);
    myRadialGradientBrush.RadiusX = 0.5;
    myRadialGradientBrush.RadiusY = 0.5;
    myRadialGradientBrush.GradientStops.Add(
                    new GradientStop(Colors.Cyan, 0.0));
    myRadialGradientBrush.GradientStops.Add(
                    new GradientStop(Colors.White, 1.0));

    cell0.Fill = myRadialGradientBrush;
票数 0
EN

Stack Overflow用户

发布于 2015-04-05 15:21:34

代码语言:javascript
复制
<UserControl.Resources>
    <LinearGradientBrush x:Key="GridLabelColor" StartPoint="0.25,0" EndPoint="0.65,1" Opacity=".5">
        <GradientStop Color="AliceBlue" Offset="0"/>
        <GradientStop Color="Silver" Offset=".35"/>
        <GradientStop Color="Navy" Offset="0.85"/>
    </LinearGradientBrush>
</UserControl.Resources>

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

https://stackoverflow.com/questions/23990121

复制
相关文章

相似问题

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