可能重复:
XAML 条件编译
在 C# 中,我可以在代码中执行以下操作。
#if COMPILING_AS_WINDOWS_PHONE_7
//some random code
#else
//some random code
#endif
这使我可以通过使用项目的编译器参数来拥有多个以不同方式编译的项目。换句话说,我不必每次都重新发明轮子。
但是,如何使用 XAML 做到这一点?我似乎在网上找不到任何关于这个的东西。
可能重复:
XAML 条件编译
在 C# 中,我可以在代码中执行以下操作。
#if COMPILING_AS_WINDOWS_PHONE_7
//some random code
#else
//some random code
#endif
这使我可以通过使用项目的编译器参数来拥有多个以不同方式编译的项目。换句话说,我不必每次都重新发明轮子。
但是,如何使用 XAML 做到这一点?我似乎在网上找不到任何关于这个的东西。
您无法控制 XAML,因为XAML 应始终在 .NET 中具有自动生成的代码,这些代码将自动编译并忽略所有前处理器定义。
您可以使用注释并使用<!-- -->注释符号手动执行此操作
唯一可行的解决方案 - 将您的 XAML 定义完全转换为完全编码为 C# 类,因此使用纯 C#类转换为类控制库。或者,您可以使用托管 C++ 进行控件组合。
唯一的缺点是难以手动开发、维护、阅读和更改。优点是您可以使用 XAML 的代码生成工具之一。
最后,使用#if #endif,您可以使用一个代码库/代码源进行windows phone / 8开发,但根据我的经验,最好使用部分类和通用代码库(您可以添加一个文件作为参考该项目)。