Аргументы компилятора с XAML?
Возможный дубликат:
Условная компиляция XAML
В C# я могу сделать следующее в коде.
#if COMPILING_AS_WINDOWS_PHONE_7
//some random code
#else
//some random code
#endif
Это позволяет мне иметь несколько проектов, которые компилируются по-разному, используя аргументы компилятора проектов. Другими словами, мне не нужно каждый раз изобретать велосипед.
Тем не менее, как я могу сделать это с XAML? Я не могу найти что-нибудь об этом онлайн.
1 ответ
Вы не можете управлять XAML, потому что XAML всегда должен иметь автоматически сгенерированный код в.NET, который будет компилироваться автоматически и игнорировать все определения препроцессора.
Вы можете использовать комментарии и делать это вручную с помощью символов комментария
Единственное рабочее решение - это полностью преобразовать ваши определения XAML так, чтобы они были полностью закодированы как класс C#, поэтому использование чистых классов C# в библиотеке управления классами. Кроме того, вы можете использовать управляемый C++ для управления композицией.
Единственным недостатком является то, что будет трудно разрабатывать, поддерживать, читать и изменять вручную. Преимущество заключается в том, что вы можете использовать один из инструментов генерации кода для XAML.
И, наконец, используя #iF#endif, вы можете использовать одну библиотеку кодов / источники кода как для разработки под windows phone / 8, но по моему опыту лучше использовать частичные классы и общую кодовую базу (вы можете добавить файл в качестве ссылки на проект).