XBAP中的数据绑定会引发反射错误

时间:2009-08-09 19:21:13

标签: xbap

我有一个列表框,我绑定到一组对象。

在后面的代码中,我获得了一个作业列表并将其绑定到列表框项源:

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'   失败

之前有没有遇到此问题或找到此错误的解决方法?

1 个答案:

答案 0 :(得分:1)

我刚刚找到了自己问题的答案。我没有将我的JobEntity类显式声明为“public”。这样做解决了这个问题。