我有一个列表框,我绑定到一组对象。
在后面的代码中,我获得了一个作业列表并将其绑定到列表框项源:
List<JobEntity> jobList = new List<JobEntity>();
Job j = new Job();
jobList = j.LoadJobs(pageSize, pageIndex);
lbxJobs.ItemsSource = jobList;
在xaml中,我尝试访问作业的一些属性。
<ListBox.ItemTemplate>
<DataTemplate>
<WrapPanel>
<TextBlock Text="{Binding Path=Title}" Margin="5 0" />
<TextBlock Text="{Binding Path=HiringCompany}" Margin="5 0" />
</WrapPanel>
</DataTemplate>
</ListBox.ItemTemplate>
这适用于普通的wpf应用程序,但作为xbap应用程序,它会抛出一个错误,基本上说它无法获取值,因为反射权限被拒绝。
System.Windows.Data错误:16:不能 得到'招聘公司'的价值(类型 来自''的'String')(类型'JobEntity')。 BindingExpression:路径= HiringCompany; 的DataItem = 'JobEntity' (的HashCode = 64844482);目标元素是 'TextBlock'(Name ='');目标财产 是'文字'(类型'字符串') TargetInvocationException:'System.Reflection.TargetInvocationException: 物业访问者'招聘公司'上 对象'JobSearch.Classes.JobEntity' 抛出以下内容 例外: 'JobSearch.Classes.JobEntity.get_HiringCompany()' ---&GT; System.MethodAccessException:JobSearch.Classes.JobEntity.get_HiringCompany() ---&GT; System.Security.SecurityException: 请求类型的许可 “System.Security.Permissions.ReflectionPermission, mscorlib,版本= 2.0.0.0, 文化=中性, 公钥= b77a5c561934e089' 失败
之前有没有遇到此问题或找到此错误的解决方法?
答案 0 :(得分:1)
我刚刚找到了自己问题的答案。我没有将我的JobEntity类显式声明为“public”。这样做解决了这个问题。