Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 绑定到自定义属性_Silverlight_Pagedcollectionview - Fatal编程技术网

Silverlight 绑定到自定义属性

Silverlight 绑定到自定义属性,silverlight,pagedcollectionview,Silverlight,Pagedcollectionview,几个小时前,我发布了一个问题http://stackoverflow.com/questions/11134264/c-sharp-add-properties-at-runtime. 我询问了使用新属性扩展现有类的问题。那没关系。我设法添加了新的属性,但现在我需要根据手动添加的属性向PagedCollectionView添加GroupDescription。这意味着我有课 MyClass { string _name; string _phone; } 现在,我想用生成的值添

几个小时前,我发布了一个问题http://stackoverflow.com/questions/11134264/c-sharp-add-properties-at-runtime. 我询问了使用新属性扩展现有类的问题。那没关系。我设法添加了新的属性,但现在我需要根据手动添加的属性向PagedCollectionView添加GroupDescription。这意味着我有课

MyClass
{
    string _name;
    string _phone;
}
现在,我想用生成的值添加新属性JobTitle、Position,并为JobTitle和Position定义GroupDescriptions。 通过上述实施,我已经

Dictionary<string, string> Attributes;
它将根据关键字JobTitle而不是值对数据进行分组

谢谢,,
约克西莫维奇

实现这一目标的标准方法如下

MyClass
{
    string _name;
    string _phone;
    string _jobTitle;
    string _position;
}


private ObservableCollection<MyClass> collection = //fetch from web service or something
PagedCollectionView pcv = new PagedCollectionView(collection);
pcv.GroupDescriptions.Add(new PropertyGroupDescription("JobTitle"));
DataGrid.ItemsSource = pcv;

为什么不使用可观察的集合而不是词汇表?有什么区别?我可能仍然会有键值对?我是说,因为如果您将职务和职位合并到MyClass对象中,您可以拥有collection.AddGroupDescriptionjobtitle,并且它将按预期进行分组。对不起,我不明白。这就是我想做的,但我不明白你的建议…我现在明白了。。。但是,问题是,应该动态添加“职务”和/或“职位”。它们不在类中,应该在实例化类时添加。之后,一切都应该像您描述的那样。DataGrids不支持绑定到多个源。我认为最好的办法是在实例化时动态填充类的2个属性。这可以使用foreach循环在可观察的集合项上执行,并且显示将自动更新。好的,我现在会这样做,但我认为一定有不同的解决方案:问题是,我在类中没有这些属性,我想在类初始化期间添加它们。。。无论如何,谢谢你的帮助。
MyClass
{
    string _name;
    string _phone;
    string _jobTitle;
    string _position;
}


private ObservableCollection<MyClass> collection = //fetch from web service or something
PagedCollectionView pcv = new PagedCollectionView(collection);
pcv.GroupDescriptions.Add(new PropertyGroupDescription("JobTitle"));
DataGrid.ItemsSource = pcv;