110,566
社区成员
发帖
与我相关
我的任务
分享
public partial class MainWindow : Window
{
private Window win = null;
public MainWindow()
{
InitializeComponent();
Loaded += MainWindow_Loaded;
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
win = new Window();
win.Owner = this;
win.Show();
Win32Api.SetParent(new WindowInteropHelper(win).Handle, new WindowInteropHelper(this).Handle);
Win32Api.MoveWindow(new WindowInteropHelper(win).Handle, 0, 0, (int)ActualWidth, (int)ActualHeight, true);
}
protected override void OnRender(DrawingContext drawingContext)
{
if (win != null)
{
Win32Api.MoveWindow(new WindowInteropHelper(win).Handle, 0, 0, (int)ActualWidth, (int)ActualHeight, true);
}
base.OnRender(drawingContext);
}
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo)
{
this.InvalidateVisual();
base.OnRenderSizeChanged(sizeInfo);
}
}
public MainWindow()
{
InitializeComponent();
Loaded += MainWindow_Loaded;
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
Window win = new Window();
win.Owner = this;
win.Show();
Win32Api.SetParent(new WindowInteropHelper(win).Handle, new WindowInteropHelper(this).Handle);
}
public class Win32Api
{
#region Consts
#endregion
#region Public Methods
[DllImport("user32.dll", SetLastError = true)]
public static extern int SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
[DllImport("user32.dll", SetLastError = true)]
public static extern bool MoveWindow(IntPtr hwnd, int x, int y, int cx, int cy, bool repaint);
#endregion
}