2016-05-30 63 views
1

我目前正在與Telerik FW一起開發WPF項目。telerik:PieSeries綁定顏色CanFreeze警告

在我得到以下警告運行時:

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 
                    }, 
                  }; 
       } 
      } 
     } 

我想一種解決方案是直接從xaml源創建corlor。 但我想保持此綁定,以便能夠以編程方式更改顏色。

有關此警告的任何想法?

+0

Peharps使用DefaultSliceStyle一個DynamicResource:我已經讀過,它有助於解決這一警告...... –

+0

這不會改變任何東西:/ DefaultSliceStyle =「{DynamicResource PieSliceStyle} 「> – pix

回答

0

還行經過調查,這不是從PieSeries將..正在添加此 由RadGridView解僱....

我刪除了所有的XAML組件逐一從XAML。 最後一個活着的網格,我保持警告。 我刪除了網格並啓用了所有其他組件,並且警告消失,直到我取消註釋xaml中的網格。 沒什麼特別的,只是簡單的RadGridView聲明。沒有DataSource或Column定義,只是一個簡單的空網格。

從2010年起,這個問題似乎已經從許多組件宣佈給telerik dev團隊。

而且一些閱讀後,Telerik的不會解決此類問題...(我們可以投票給它http://feedback.telerik.com/ :))(樹視圖,網格等)

我不會讓這個作爲一個答案,我仍然有警告=/