我在资源中有一个简单的线性渐变画笔,当我在后面的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")