【发布时间】:2013-12-13 19:35:27
【问题描述】:
我在 XAML 设计器中绑定了 GridView 和 ICollectionView 属性未知,因为 CollectionView 中的实体已转换为类型 Object 并且无法访问实体属性,它运行良好,没有错误,但设计器将其显示为错误,如果我绑定到集合,我可以正常访问属性
例如,实体是带有string Name 属性的Person 我将它们放在ObservableCollection<Person> 中并从中获取视图并将其绑定到GridView.ItemsSource 现在当我尝试设置列标题@987654330 @property 设计师将其显示为错误
无法解析类型对象的数据上下文中的属性“FirstName”
这是一个 bug 还是 Resharper 在捉弄我
示例代码:
public class Person
{
public string FirstName{
get { return _firstName; }
set { SetPropertyValue("FirstName", ref _firstName, value); }
}
}
public class DataService
{
public IDataSource DataContext { get; set; }
public ICollectionView PersonCollection{ get; set; }
public DataService()
{
DataContext = new DataSource();
//QueryableCollectionView is from Telerik
//but if i use any other CollectionView same thing
//DataContext Persons is an ObservableCollection<Person> Persons
PersonCollection = new QueryableCollectionView(DataContext.Persons);
}
}
<telerik:RadGridView x:Name="ParentGrid"
ItemsSource="{Binding DataService.PersonCollection}"
AutoGenerateColumns="False">
<telerik:RadGridView.Columns >
<telerik:GridViewDataColumn Header="{lex:Loc Key=FirstName}"
DataMemberBinding="{Binding FirstName}"/>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
【问题讨论】:
标签: c# wpf xaml icollectionview