none
metro下xaml+c# 和wpf 共享代码及xaml文件可行性如何? RRS feed

  • 问题

  • 我们的程序有desktop下的版本,也有metro模式下的版本。如果维护两套代码感觉工作量太大。所以一个初步的想法把能公用的代码都抽出来,既能在desktop下用,也能在metro下用。我知道对于一些纯业务逻辑的代码来说,这个比较好做。但对于界面代码来说就心里没底了。由于metro下的UI和desktop下的wpf都采用xaml文件做为UI展现的配置文件, 开发语言都是用c#, 所以请问,c#代码和xaml文件能在多大的程度上实现在metro和desktop下的复用?可行性如何?有相关的参考资料吗? 希望能得到指点,谢谢!

    2012年5月31日 6:02

答案

  • 这个取决于WPF和Metro的XAML上区别有多少,越少可行性越大。

    但是目前看来,似乎可行性不是很大。主要可以参考这篇文档,讲述了WPF/SL和Metro上的区别:http://msdn.microsoft.com/en-us/library/windows/apps/xaml/br229571.aspx

    主要有几点:

    1. 类型增减很多,属性和事件有很多名字已改变
    2. Metro中没有触发器,建议通过VisualStates
    3. WinRT和.Net类型上的不同,一些基础类无法通用
    4. XAML语言级别上区别较大,比如x: 下改变较多
    5. 绑定也有很大变化

    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年6月1日 3:27
    版主
  • 可能不只是技术上的问题,metro风格的app在设计上和传统的desktop的差异非常大,不知道还有没有通用的必要
    2012年6月1日 6:25

全部回复