1

我有一个绑定到对象集合的列表框。

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

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:无法从“”(类型“JobEntity”)获取“HiringCompany”值(类型“字符串”)。BindingExpression:Path=HiringCompany; DataItem='JobEntity' (HashCode=64844482); 目标元素是'TextBlock'(名称='');目标属性是“文本”(类型“字符串”) TargetInvocationException:“System.Reflection.TargetInvocationException:对象“JobSearch.Classes.JobEntity”上的属性访问器“HiringCompany”引发以下异常:“JobSearch.Classes.JobEntity.get_HiringCompany() ' ---> System.MethodAccessException: JobSearch.Classes.JobEntity.get_HiringCompany() ---> System.Security.SecurityException: 请求“System.Security.Permissions.ReflectionPermission, mscorlib,

有没有人遇到过这个问题或者找到了解决这个错误的方法?

4

1 回答 1

1

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

于 2009-08-09T19:45:49.677 回答