telerik: Связующие цвета PieSeries CanFreeze Предупреждение
В настоящее время я работаю над проектом WPF с Telerik FW.
Во время выполнения я получаю следующее предупреждение:
System.Windows.Freezable Warning: 1 : CanFreeze is returning false because a DependencyProperty on the Freezable has a value that is an expression; Freezable='System.Windows.Media.TranslateTransform'; Freezable.HashCode='36319496'; Freezable.Type='System.Windows.Media.TranslateTransform'; DP='X'; DpOwnerType='System.Windows.Media.TranslateTransform'
Это мой код xaml
<Style x:Key="PieSliceStyle" TargetType="Path">
<Setter Property="Fill" Value="{Binding DataItem.Color}" />
</Style>
<telerik:PieSeries ItemsSource="{Binding Source}" DefaultSliceStyle="{StaticResource PieSliceStyle}">
<telerik:PieSeries.ValueBinding>
<telerik:PropertyNameDataPointBinding PropertyName="Value" />
</telerik:PieSeries.ValueBinding>
<telerik:PieSeries.LabelDefinitions>
<telerik:ChartSeriesLabelDefinition Margin="-10">
<telerik:ChartSeriesLabelDefinition.Binding>
<telerik:PropertyNameDataPointBinding PropertyName="Label" />
</telerik:ChartSeriesLabelDefinition.Binding>
</telerik:ChartSeriesLabelDefinition>
</telerik:PieSeries.LabelDefinitions>
</telerik:PieSeries>
И это какая-то часть моей ViewModel
private readonly SolidColorBrush PieColorEnableSlice = new SolidColorBrush(Colors.LightGray);
private readonly SolidColorBrush PieColorDisabledSlice = new SolidColorBrush(Colors.Red);
public AsyncObservableCollection<MSShareClassModel> List
{
get
{
return this._list;
}
set
{
if (this.SetProperty(ref this._list, value, "List"))
{
this.Source = new AsyncObservableCollection<PieChartModel>
{
new PieChartModel
{
Label = "Active",
Value = this._list.Count(x => x.Status == "1"),
Color = this.PieColorEnableSlice
},
new PieChartModel
{
Label = "Disable",
Value = this._list.Count(x => x.Status == "0"),
Color = this.PieColorDisabledSlice
},
};
}
}
}
Я думаю, что одним из решений было бы создание corlor непосредственно из источника xaml. Но я хочу сохранить эту привязку, чтобы иметь возможность менять цвет программно.
Есть идеи по этому предупреждению?
1 ответ
Хорошо. После дополнительного расследования, это не происходит от pieSeries.. Это запускается RadGridView....
Я удалил все компоненты xaml один за другим из xaml. Последний был живым, и я продолжал получать это предупреждение. Я удалил сетку и включил все остальные компоненты, и предупреждение исчезло, пока я не раскомментировал сетку в xaml. Ничего особенного, просто простое объявление RadGridView. Нет определения источника данных или столбца, просто пустая сетка.
Эта проблема, кажется, была объявлена команде разработчиков Telerik с 2010 года из многих компонентов. (Древовидная структура, сетка и т. Д.)
И после некоторого прочтения Telerik не решит проблему такого рода... (мы можем проголосовать за нее на http://feedback.telerik.com/:))
Я не буду делать это как ответ, у меня все еще есть предупреждение =/