我有一个Silverlight的复杂控件,我需要在WPF中具有相同的功能。任何方式来分享代码库?是否可以为WPF和Silverlight编译相同的控件?
4
A
回答
3
实际上是由三个方面,将需要共享:
- 代码文件(例如*的.cs *的.vb)
- XAML文件(包括主题)
- 项目文件(例如为*的.csproj和* .vbproj)
由于雅罗指出的那样,你可以使用代码文件,这是由C#和VB.Net支持有条件的并发症。请记住,Silverlight项目将默认定义SILVERLIGHT符号,以便您可以在条件语句中使用它。
代码文件的另一个技巧是使用partial classes。这使您可以将仅适用于Silverlight或WPF(但不是两个)的整个代码块放在单个文件中。然后在您的项目中选择性地包含该文件。
XAML文件是一个有点艰难,因为有通过WPF支持几件事情是不支持Silverlight(如自定义MarkupExtensions等)。在实践中,我只需复制XAML文件并根据需要进行合并。
项目文件必须手动维护,这不是一件麻烦事。
0
我写了一个blog article关于共享.xaml
文件。我们的想法是在.xaml
建立在源代码中的代理控制和使用控制:
namespace UnifiedXaml
{
public class MyWrapPanel: WrapPanel { }
}
<UserControl x:Class="UnifiedXaml.TestControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ux="clr-namespace:UnifiedXaml">
<ux:MyWrapPanel></ux:MyWrapPanel>
</UserControl>
如果控制在WPF和Silverlight,use styles不同的功能。
相关问题
- 1. WPF和Silverlight是否碰撞?
- 2. 是否可以通过HwndHost控件来绘制WPF控件?
- 3. 将Silverlight重新编译为WPF问题
- 4. 为Silverlight 4重新编译Silverlight 3控件的任何原因?
- 5. 编译器是否会为相同的源生成不同的.pdb文件
- 6. 是否可以将nodejs项目编译为单个JavaScript文件?
- 7. 我可以将我的Silverlight 4应用程序编译为WPF吗?
- 8. 是否可以设置silverlight数据包控件的页数
- 9. 编译器是否只编译可以执行的代码?
- 10. 是否可以用mpif90编译pgplot?
- 11. 是否可以恢复ASP.NET预编译?
- 12. gcc是否可以不编译代码?
- 13. 编译时间和类加载时间是否相同?
- 14. 我可以使用相同的ant编译文件的窗口和unix
- 15. 是否可以将Vue.js模板编译为静态HTML和CSS文件?
- 16. Fortran 95编译器是否可以编译Fortran 77代码?
- 17. C#是否可以编辑WPF button_click事件的委托参数?
- 18. 是否有Silverlight的所有者绘制控件,wpf
- 19. silverlight和wpf应用程序使用相同的xaml文件
- 20. 是否可以使用Silverlight编写屏幕录制软件?
- 21. 是否可以导入已编译的python文件?
- 22. AAR归档文件是否可以包含已编译的类?
- 23. MEF - 是否可以使用directorycatalog为相同的代码获取最新编译的DLL?
- 24. C#/ WPF - 重新编译用于WPF应用程序的SilverLight 4工具包是否可行?
- 25. 是否有WPF控件可以连接到SQLSERVER数据库?
- 26. 是否有WPF控件可以执行CRUD操作域模型?
- 27. 是否可以重新加载一个wpf控件或windows?
- 28. 是否可以防止WPF控件重绘?
- 29. 自定义WPF控件是否可以实现IsDefault属性
- 30. 是否可以轻松完全反编译python编译(* .pyc)文件?
http://msdn.microsoft.com/en-us/library/x435tkbk.aspx +您可以为每个平台创建项目文件。 – 2011-03-13 09:03:52
@Jaroslav Jandek,谢谢C.O. – user626528 2011-03-13 09:07:44
有时可以创建项目并将其他项目的文件添加为链接。但是一些Silverlight控件具有不同的属性,所以条件编译应该有所帮助。 – vorrtex 2011-03-13 16:15:26