值类型[KeyValuePair`2]不支持动态getter

本文关键字:不支持 动态 getter 类型 KeyValuePair | 更新日期: 2023-09-27 18:27:55

我正在尝试新的Telerik Universal UI,并且在绑定到ObservableDictionary<string, int>时运行了此异常。

System.ArgumentException:Telerik.Universal.UI.Xaml.Controls.Chart.PropertyNameDataPointBinding.GetValue(Objectinstance)在Telerik.Universal的值类型[KeyValuePair`2]不支持动态getter。Core.DynamicHelper.CreatePropertyValueGetter(Typetype,String propertyName)(DataPointBindingEntrybinding)atTelerik.Universal.UI.Xaml.Controls.Chart.ChartSeriesDataSource.GenerateDataPoint(Obje这是我正在使用的代码:

我知道我应该写信给他们的支持论坛,但当我发帖时,它总是给出Error 500,我厌倦了再次重写我的帖子。

这是我的代码:

(ViewModel)

public ObservableDictionary<string, int> MyDict { get; set; }
...
private void UpdateStats()
{
    MyDict.Clear();            
    foreach (var item in Items)
    {
        var dayString = item.When.Date.ToLocalTime().ToString();
        var dayKey = dayString.Split(' ')[0];
        MyDict[dayKey] = (MyDict.ContainsKey(dayKey)) ? MyDict[dayKey] + 1 : 1;                
    }
}

(第页)

<chart:RadCartesianChart x:Name="lineSeries" 
                         PaletteName="DefaultLight"
                         ClipToBounds="False">
    <chart:RadCartesianChart.VerticalAxis>
        <chart:LinearAxis/>
    </chart:RadCartesianChart.VerticalAxis>
    <chart:RadCartesianChart.HorizontalAxis>
        <chart:CategoricalAxis AutoGroup="True"
                               PlotMode="OnTicks"/>
    </chart:RadCartesianChart.HorizontalAxis>
    <chart:LineSeries ItemsSource="{Binding MyDict}">
        <chart:LineSeries.CategoryBinding>
            <chart:PropertyNameDataPointBinding PropertyName="Key"/>
        </chart:LineSeries.CategoryBinding>
        <chart:LineSeries.ValueBinding>
            <chart:PropertyNameDataPointBinding PropertyName="Value"/>
        </chart:LineSeries.ValueBinding>
    </chart:LineSeries>
</chart:RadCartesianChart>

你知道怎么解决这个问题吗?我希望在XAML中完成任务,而不是在页面中编写代码。

值类型[KeyValuePair`2]不支持动态getter

;编辑;我的错误误读了夜间的错误

我不相信Telerik通过其LineSeries控件为字典绑定提供了Xaml支持,所以您可能仅限于代码隐藏。很抱歉