資源簡介
WPF中用于嵌入其他進程窗口的自定義控件(AppContainer)
具體見博文:http://blog.csdn.net/zzzwwwppp11199988899/article/details/78131292

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Diagnostics;
using?System.IO;
using?System.Linq;
using?System.Text;
using?System.Threading;
using?System.Threading.Tasks;
using?System.Windows;
using?System.Windows.Controls;
using?System.Windows.Data;
using?System.Windows.Documents;
using?System.Windows.Forms.Integration;
using?System.Windows.Input;
using?System.Windows.Media;
using?System.Windows.Media.Imaging;
using?System.Windows.Navigation;
using?System.Windows.Shapes;
namespace?AppContainers
{
????///?
????///?按照步驟?1a?或?1b?操作,然后執行步驟?2?以在?XAML?文件中使用此自定義控件。
????///
????///?步驟?1a)?在當前項目中存在的?XAML?文件中使用該自定義控件。
????///?將此?xmlNamespace?特性添加到要使用該特性的標記文件的根?
????///?元素中:?
????///
????///?????xmlns:MyNamespace=“clr-namespace:AppContainer“
????///
????///
????///?步驟?1b)?在其他項目中存在的?XAML?文件中使用該自定義控件。
????///?將此?xmlNamespace?特性添加到要使用該特性的標記文件的根?
????///?元素中:?
????///
????///?????xmlns:MyNamespace=“clr-namespace:AppContainer;assembly=AppContainer“
????///
????///?您還需要添加一個從?XAML?文件所在的項目到此項目的項目引用,
????///?并重新生成以避免編譯錯誤:?
????///
????///?????在解決方案資源管理器中右擊目標項目,然后依次單擊
????///?????“添加引用”->“項目”->[選擇此項目]
????///
????///
????///?步驟?2)
????///?繼續操作并在?XAML?文件中使用控件。
????///
????///?????
????///
????///?
????[TemplatePart(Name?=?“PART_Host“?Type?=?typeof(WindowsFormsHost))]
????public?class?AppContainer?:?Control
????{
????????#region?Fields
????????private?WindowsFormsHost?_winFormHost?=?null;
????????private?System.Windows.Forms.Panel?_hostPanel?=?null;
????????private?ManualResetEvent?_eventDone?=?new?ManualResetEvent(false);
????????private?Process?_process?=?null;
????????
????????private?IntPtr?_embededWindowHandle?=?(IntPtr)0;
????????#endregion
????????#region?Properties
????????#endregion
????????#region?Dependency?Properties
????????#endregion
????????#region?Wrappers
????????#endregion
????????#region?Constructors
????????static?AppContainer()
????????{
????????????DefaultstyleKeyProperty.Overridemetadata(typeof(AppContainer)?new?frameworkPropertymetadata(typeof(AppContainer)));
????????}
????????#endregion
????????#region?Override?Methods
????????public?override?void?OnApplyTemplate()
????????{
????????????base.OnApplyTemplate();
????????????_winFormHost?=?GetTemplateChild(“PART_Host“)?as?WindowsFormsHost;
????????????if(_winFormHost?!=?null)
????????????{
????????????????_hostPanel?=?new?System.Windows.Forms.Panel();
????????????????_winFormHost.Child?=?_hostPanel;
????????????}
????????}
????????protected?override?void?OnRender(DrawingContext?drawingContext)
????????{
????????????if?(_process?!=?null)
????????????{
????????????????Win32Api.MoveWindow(_process.MainWindowHandle?0?0?(int)ActualWidth?(int)ActualHeight?true);
????????????}
????????????base.OnRender(drawingContext);
????????}
????????protected?override?void?OnRenderSizeChanged(SizeChangedInfo?sizeInfo)
?????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-09-27?10:16??WpfAppContainerTest\
?????目錄???????????0??2017-09-27?10:14??WpfAppContainerTest\.vs\
?????目錄???????????0??2017-09-27?10:14??WpfAppContainerTest\.vs\WpfAppContainerTest\
?????目錄???????????0??2017-09-27?10:14??WpfAppContainerTest\.vs\WpfAppContainerTest\v15\
?????文件???????82432??2017-09-29?11:19??WpfAppContainerTest\.vs\WpfAppContainerTest\v15\.suo
?????目錄???????????0??2017-09-29?11:18??WpfAppContainerTest\.vs\WpfAppContainerTest\v15\sqlite3\
?????文件??????897024??2017-09-29?11:18??WpfAppContainerTest\.vs\WpfAppContainerTest\v15\sqlite3\storage.ide
?????目錄???????????0??2017-09-29?11:18??WpfAppContainerTest\AppContainer\
?????文件????????7332??2017-09-29?11:12??WpfAppContainerTest\AppContainer\AppContainer.cs
?????文件????????3860??2017-09-27?14:16??WpfAppContainerTest\AppContainer\AppContainers.csproj
?????目錄???????????0??2017-09-27?10:16??WpfAppContainerTest\AppContainer\Properties\
?????文件????????2307??2017-09-27?10:16??WpfAppContainerTest\AppContainer\Properties\AssemblyInfo.cs
?????文件????????2867??2017-09-27?11:56??WpfAppContainerTest\AppContainer\Properties\Resources.Designer.cs
?????文件????????5612??2017-08-31?15:15??WpfAppContainerTest\AppContainer\Properties\Resources.resx
?????文件????????1113??2017-09-27?11:56??WpfAppContainerTest\AppContainer\Properties\Settings.Designer.cs
?????文件?????????201??2017-08-31?15:15??WpfAppContainerTest\AppContainer\Properties\Settings.settings
?????目錄???????????0??2017-09-27?14:32??WpfAppContainerTest\AppContainer\Themes\
?????文件????????1012??2017-09-27?12:29??WpfAppContainerTest\AppContainer\Themes\AppContainer.xaml
?????文件?????????419??2017-09-27?14:32??WpfAppContainerTest\AppContainer\Themes\Generic.xaml
?????文件????????5504??2017-09-27?14:18??WpfAppContainerTest\AppContainer\Win32Api.cs
?????目錄???????????0??2017-09-27?11:56??WpfAppContainerTest\AppContainer\bin\
?????目錄???????????0??2017-09-27?12:03??WpfAppContainerTest\AppContainer\bin\Debug\
?????文件???????14848??2017-09-29?11:18??WpfAppContainerTest\AppContainer\bin\Debug\AppContainers.dll
?????文件???????26112??2017-09-29?11:18??WpfAppContainerTest\AppContainer\bin\Debug\AppContainers.pdb
?????目錄???????????0??2017-09-29?11:19??WpfAppContainerTest\AppContainer\bin\Release\
?????目錄???????????0??2017-09-27?10:16??WpfAppContainerTest\AppContainer\obj\
?????目錄???????????0??2017-09-29?11:18??WpfAppContainerTest\AppContainer\obj\Debug\
?????文件??????????42??2017-09-27?12:11??WpfAppContainerTest\AppContainer\obj\Debug\AppContainer.csproj.CoreCompileInputs.cache
?????文件????????1363??2017-09-27?12:03??WpfAppContainerTest\AppContainer\obj\Debug\AppContainer.csproj.FileListAbsolute.txt
?????文件?????????954??2017-09-27?12:03??WpfAppContainerTest\AppContainer\obj\Debug\AppContainer.csproj.GenerateResource.Cache
?????文件????????2503??2017-09-27?12:03??WpfAppContainerTest\AppContainer\obj\Debug\AppContainer.csprojResolveAssemblyReference.cache
............此處省略83個文件信息
評論
共有 條評論