2

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

0 回答 0