【问题标题】:Dynamic getter is not supported for value type [KeyValuePair`2]值类型 [KeyValuePair`2] 不支持动态 getter
【发布时间】:2014-10-26 10:40:35
【问题描述】:

我正在尝试新的 Telerik Universal UI,但在绑定到 ObservableDictionary<string, int> 时遇到了这个异常。

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

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

这是我的代码:

(视图模型)

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 中完成工作,而不是在页面中编写代码。

【问题讨论】:

    标签: c# xaml telerik windows-phone-8.1 windows-rt


    【解决方案1】:

    ;已编辑;我晚上误读了错误

    我不相信 Telerik 通过其 LineSeries 控件为字典绑定提供 Xaml 支持,因此您可能仅限于代码隐藏。对不起!

    【讨论】:

    • 还是一样的异常:\
    • 我最终编写了一个包装类并将图表绑定到 List&lt;CustomWrapperClass&gt;
    猜你喜欢
    • 1970-01-01
    • 2020-09-19
    • 2020-10-13
    • 1970-01-01
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多