xaml — Ошибка привязки класса IValueConverter в C ++ / CX

У меня есть исключение в редакторе XAML, которое не позволяет мне правильно увидеть мой пользовательский IValueConverter Класс применяется к моему мнению, но когда я запускаю его, он работает очень хорошо.

Я читал много тем из похожих ситуаций, я нашел пост, который похож на мою проблему: xaml Неверная разметка, но все еще компилируется / запускается. Мне потребовалось некоторое время, чтобы проверить все мои пространства имен в моем решении, чтобы окончательно принять решение о воссоздании проектов и повторной сборке, он компилируется очень хорошо, даже я могу видеть средство форматирования во время выполнения, но я все еще сталкиваюсь с той же проблемой, когда я попробуйте отредактировать мой взгляд в XAML.

Если я объявляю ToBrushFormatter внутри Grid.Resources и компилирую, я получаю: Текст, связанный с этим кодом ошибки, не найден. Невозможно создать экземпляр типа «Promotion.DataBinding.ToBrushFormatter».

Снимок экрана, показывающий проблемный редактор кода XAML
Но если я объявляю это снаружи в Page.Resources и компилирую, я также получаю: Указанный модуль не может быть найден. (Исключение из HRESULT: 0x8007007E).

Кроме того, я зарегистрировал свой ToBrushFormatter.h в моем pch.h, MainScenarioList.xaml.cpp а также MainScenario.xaml.h:

Снимок экрана, показывающий проблемный редактор кода XAML

Заранее спасибо.

ОБНОВИТЬ:

Добавлены ToBrushFormatter.h и ToBrushFormatter.cpp.

введите описание изображения здесь

введите описание изображения здесь

0

Решение

Хм .. кажется, что не может найти ссылку полностью. + Изменить

MainPage.xaml.h или на любой другой странице, к которой вы обращаетесь

#include "MainPage.g.h"#include "MyConverter.h"    // include your converter.h file instead of mine

Тогда MainPage.xaml

<Page.Resources>
<local:MyConverter x:Key="whatever"></local:MyConverter>
</Page.Resources>

Должны исправить все ваши уродливые покачивания.


Сделайте Чистую Перестройку просто чтобы убедиться 🙂

1

Другие решения


По вопросам рекламы [email protected]