Привязка данных в XBAP вызывает ошибку отражения - PullRequest
1 голос
/ 09 августа 2009

У меня есть список, который я привязываю к коллекции объектов.

В приведенном ниже коде я получаю список заданий и привязываю его к источнику элементов списка:

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: невозможно получить значение 'HiringCompany' (тип 'String') from '' (введите 'JobEntity'). BindingExpression: Path = HiringCompany; DataItem = 'JobEntity' (HashCode = 64844482); целевой элемент 'TextBlock' (Name = ''); целевое свойство это «Текст» (тип «Строка») TargetInvocationException: 'System.Reflection.TargetInvocationException: Объект доступа 'HiringCompany' на объект 'JobSearch.Classes.JobEntity' бросил следующее Исключение: 'JobSearch.Classes.JobEntity.get_HiringCompany ()' ---> System.MethodAccessException: JobSearch.Classes.JobEntity.get_HiringCompany () ---> System.Security.SecurityException: Запрос разрешения типа «System.Security.Permissions.ReflectionPermission, mscorlib, версия = 2.0.0.0, Culture = нейтрально, PublicKeyToken = b77a5c561934e089' не удалось

Кто-нибудь сталкивался с этим раньше или нашел обходной путь для этой ошибки?

1 Ответ

1 голос
/ 09 августа 2009

Я только что нашел ответ на свой вопрос. У меня не было своего класса JobEntity, явно объявленного как «открытый». Это решило проблему.

...