我在 XAML 设计器中绑定了 aGridView
属性ICollectionView
未知,因为其中的实体CollectionView
已转换为类型Object
并且无法访问实体属性,它运行良好,没有错误,但设计器将其显示为错误,如果我绑定到集合我可以正常访问属性
示例实体是Person
具有string Name
属性的我将它们放置在一个中ObservableCollection<Person>
并从中获取视图并将其绑定到GridView.ItemsSource
现在当我尝试设置列标题DataMemberBinding.FirstName
属性时设计器将其显示为错误
无法解析对象类型的数据上下文中的属性“FirstName”
是错误还是 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>