public WinJsForm(WPFJsSettings settings) { InitializeComponent(); this.settings = settings; Thread t = new Thread(new ParameterizedThreadStart(ServerStart)); t.Start(settings.Port); Setting(settings); RegisterEvent(); }
static void Main(string[] args) { //初始化程序 Start.App app = new Start.App(); app.InitializeComponent(); //读取配置文件 WPFJsSettings winjsSettings = WPFJsSettings.ParseFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"assets\settings.json")); WinJsForm form = new WinJsForm(winjsSettings); app.MainWindow = form; app.Run(form); }
public void Setting(WPFJsSettings settings) { #region 游览器设置 //var Cefsettings = new CefSettings //{ // Locale = "zh-CN", // AcceptLanguageList = "zh-CN", // MultiThreadedMessageLoop = true //}; //Cefsettings.CefCommandLineArgs.Add("disable-gpu", "1"); //Cefsettings.CefCommandLineArgs.Add("force-device-scale-factor", "1"); //Cef.Initialize(Cefsettings); //var webbrowser = new ChromiumWebBrowser(settings.Url); //webbrowser.MenuHandler = new MenuHandler(); //var winform = new WindowsFormsHost() //{ // Child = webbrowser //}; ////绑定,和js交互的关键,注册一个JsObj,这个可以自定义,然后对于js来说,第二个参数this就代表了JsObj ////this.Content = winform; //wrap.Children.Add(winform); var Cefsettings = new CefSettings { Locale = "zh-CN", AcceptLanguageList = "zh-CN", MultiThreadedMessageLoop = true }; Cefsettings.CefCommandLineArgs.Add("disable-gpu", "1"); Cefsettings.CefCommandLineArgs.Add("force-device-scale-factor", "1"); CefSharp.Cef.Initialize(Cefsettings); webBrowser = new CefSharp.Wpf.ChromiumWebBrowser(); webBrowser.BrowserSettings.WebSecurity = CefState.Disabled; webBrowser.Height = settings.Height; webBrowser.Width = settings.Width; webBrowser.Address = settings.Url; //webBrowser.IsBrowserInitializedChanged += IsBrowserInitializedChanged; webBrowser.FrameLoadEnd += new EventHandler <FrameLoadEndEventArgs>(FrameEndFunc); webBrowser.MenuHandler = new MenuHandler(); wrap.Children.Add(webBrowser); #endregion #region 窗体设置 this.Title = settings.Title; //标题 this.Height = settings.Height; //高度 this.Width = settings.Width; //宽度 if (settings.CanResize) { this.ResizeMode = ResizeMode.CanResizeWithGrip;//是否可以拉伸 } //自定义头部 for (int i = 0; i < settings.CustomBorders.Length; i++) { Rectangle rectangle = new Rectangle(); rectangle.Height = settings.CustomBorders[i].Height; rectangle.Width = settings.CustomBorders[i].Width; rectangle.Fill = new SolidColorBrush(Colors.Gray); rectangle.Opacity = 0.01; Canvas.SetLeft(rectangle, 0); Canvas.SetTop(rectangle, 0); rectangle.MouseLeftButtonDown += MouseLeftDown; wrap.Children.Add(rectangle); } #endregion }