如何将XAML转换为c#?
<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>我已经试过这样做了
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,青色出现,但不是作为一个梯度。
发布于 2014-06-02 08:28:52
只初始化在XAML中所做的相同元素,因此在您的情况下不要设置GradientOrigin、Center或RadiusX/RadiusY,并将其简化为
RadialGradientBrush radialGradientBrush = new RadialGradientBrush();
radialGradientBrush.GradientStops.Add(new GradientStop(Colors.Cyan, 0.0));
radialGradientBrush.GradientStops.Add(new GradientStop(Colors.White, 1));
Cell0.Background = radialGradientBrush;发布于 2014-06-02 08:36:14
试试这个
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;发布于 2015-04-05 15:21:34
<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>
https://stackoverflow.com/questions/23990121
复制相似问题