private void createRenderPanel() { if (renderItem != null) { renderItem.Close(); } renderItem = new TabItemWithClose(); renderItem.Width = 150; renderItem.Height = 20; renderItem.FontSize = 13; renderItem.Header = "编辑器"; renderItem.HorizontalAlignment = HorizontalAlignment.Stretch; renderItem.VerticalAlignment = VerticalAlignment.Stretch; RenderPanel rp = new RenderPanel(); rp.RenderLoaded += Rp_Loaded; rp._MouseButtonDown += Rp__MouseLeftButtonDown; rp._MouseButtonUp += Rp__MouseLeftButtonUp; rp._MouseMove += Rp__MouseMove; rp._KeyDown += Rp__KeyDown; rp._KeyUp += Rp__KeyUp; rp._SizeChange += Rp__SizeChange; renderItem.Content = rp; mainWnd.renderPanel.Items.Add(renderItem); mainWnd.renderPanel.SelectedItem = renderItem; }
private void createGameWindow() { RenderPanel rp = null; if (gameItem != null) { rp = gameItem.Content as RenderPanel; } else { gameItem = new TabItemWithClose(); gameItem.Header = "Game"; gameItem.Width = 150; gameItem.Height = 20; gameItem.Closed += GameItem_Closed; rp = new RenderPanel(); rp._SizeChange += gamePanel_SizeChange; rp.Loaded += gamePanel_Loaded; gameItem.Content = rp; } mainWnd.renderPanel.Items.Add(gameItem); mainWnd.renderPanel.SelectedItem = gameItem; Win32.SetParent(windowsPlayerHandle, rp.Handle); Int32 wndStyle = Win32.GetWindowLong(windowsPlayerHandle, Win32.GWL_STYLE); wndStyle &= ~Win32.WS_BORDER; wndStyle &= ~Win32.WS_THICKFRAME; Win32.SetWindowLong(windowsPlayerHandle, Win32.GWL_STYLE, wndStyle); Win32.SetWindowPos(windowsPlayerHandle, IntPtr.Zero, 0, 0, 0, 0, Win32.SWP_NOMOVE | Win32.SWP_NOSIZE | Win32.SWP_NOZORDER | Win32.SWP_FRAMECHANGED); }
/// <summary> /// 行双击事件 /// </summary> /// <param name="sender"></param> private void datagrid_DoubleClick(object sender) { DataGrid dg = (DataGrid)sender; contractDtoDetail rowSelected = dg.SelectedItem as contractDtoDetail; if (rowSelected != null && !string.IsNullOrEmpty(rowSelected.contractId)) { string contractCode = this.contractId = rowSelected.contractId; string contractName = rowSelected.contractName; this.newprice = rowSelected.lastPrice; bool isExists = false; for (int i = 0; i < this.Tab_Page.Items.Count; i++) { TabItem tab = this.Tab_Page.Items[i] as TabItem; if (tab.Name == contractCode) { Dispatcher.InvokeAsync(() => Tab_Page.SelectedItem = tab); isExists = true; break; } } if (!isExists) { TabItemWithClose item = new TabItemWithClose(); item.Header = contractName; item.Margin = new Thickness(1, 0, 1, 0); item.Height = 50; item.Name = contractCode; Label lbl = new Label() { Content = string.Format("{0}", Tab_Page.Items.Count) }; StackPanel sPanel = new StackPanel(); sPanel.Children.Add(lbl); item.Content = sPanel; Tab_Page.Items.Add(item); Dispatcher.InvokeAsync(() => Tab_Page.SelectedItem = item); } } }