System.Windows.Clipboard和System.Windows.Forms.Clipboard之间有区别吗?
System.Windows.Forms版本的文档明确指出,要在剪贴板上存储对象,它必须是可序列化的,并且您的应用程序必须具有STA模型,但System.Windows版本的文档不会列为要求.是吗?为什么有两节课?有什么不同?
如果它很重要,我们的应用程序是WPF,是的,我知道前者适用于WPF,后者适用于Windows.Forms ......但为什么呢?为什么不总是使用System.Windows版本,即使是基于表单的应用程序,因为它只是一个参考,并且在使用中限制较少,而对象只是.NET中的一个对象.
简单:( System.Windows.Clipboard
在PresentationCore.dll中)用于WPF,而System.Windows.Forms.Clipboard
(在System.Windows.Forms.dll中)用于Windows窗体.
你会经常在两个集合中遇到看似相同的类; 这是因为WPF和WinForms基于完全不同的系统,许多框架API必须以不同的方式实现.我自己并没有真正使用系统剪贴板,但我的猜测是它与WinForms相对接近低级Win32 API有关.不过,我不确定.
由于你正在使用WPF,你应该使用System.Windows.Clipboard
,因为表面上WPF的实现与WinForms不同.