2

我正在尝试设置 RadChart 的样式。这是一个条形图,我想更改条形的默认颜色。所以我使用了 RadChart.PaletteBrushes 并定义了 SolidBrush 颜色(在以下链接中找到了这个方法:http ://www.telerik.com/help/wpf/radchart-styling-and-appearance-styling-chart-series.html )如下:

<telerik:RadChart Background="Transparent" HorizontalContentAlignment="Center" HorizontalAlignment="center">
            <telerik:RadChart.PaletteBrushes>
                <SolidColorBrush Color="#FF0B3F74"/> 
                <SolidColorBrush Color="#FF721111"/> 
                <SolidColorBrush Color="#FFA1720B"/> 
            </telerik:RadChart.PaletteBrushes>
        </telerik:RadChart>

但是现在,运行应用程序时出现如下异常:

'System.Windows.Media.SolidColorBrush' 必须将 IsFrozen 设置为 false 才能修改。

此异常随机发生。此外,在堆栈跟踪中,也提到了 RadTransition Control。为什么会发生此错误?如何解决?

4

1 回答 1

3

我们也有同样的问题,但有多种控制。在与 Microsoft 交换信息后,他们说 Freeze 实现中存在错误(可能会在 .NET 4.5 中修复)。与此同时,我们现在在创作时冻结画笔。

将此命名空间添加到您的 XAML:

    xmlns:po="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options"

然后将 po:Freeze=true 添加到您的画笔中:

    <SolidColorBrush x:Key="SearchGridHeaderBrush" Color="{StaticResource DefaultHeaderColor}" po:Freeze="true" />
于 2011-09-28T21:10:28.290 回答