如何在运行时后面的VB代码中更改LinearGradientBrush中特定GradientStop的颜色?

时间:2013-05-31 16:55:42

标签: wpf

我在资源中有一个简单的线性渐变画笔,当我在后面的VB代码中触发事件时,我试图在运行时更改特定渐变停止的颜色。

这是线性渐变:

<LinearGradientBrush x:Key="TopTextBackgroundBrush" EndPoint="0,1" StartPoint="0,0">
    <GradientStop Color="#FF9B9696" Offset="0"/>
    <GradientStop Color="#FF9B9696" Offset="1"/>
</LinearGradientBrush>

这是带有资源的边框控件:

    <Border DockPanel.Dock="Top" CornerRadius="2, 2, 0, 0" BorderBrush="Black" Background="{DynamicResource TopTextBackgroundBrush}" BorderThickness="1,1,1,0">
        <TextBlock Name="CaptionTB" TextWrapping="Wrap" Text="Caption" Padding="2,0,0,0"/>
    </Border>

这是我到目前为止的事件中的代码。它不起作用,因为它说:

无法在对象'#FF9B9696,0'上设置属性,因为它处于只读状态。

Dim LGB1 = DirectCast(Me.FindResource("TopTextBackgroundBrush"), LinearGradientBrush)
LGB1.GradientStops(0).Color = New ColorConverter().ConvertFrom("#FFFFFFFF")

0 个答案:

没有答案