WPF萌新求助

罗宇翔 2017-12-18 11:10:21


我该怎么实现上面两个图中,中间那个可编辑文档的效果呢,看上去是个window控件,但是不能添加window。
...全文
150 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuowp 2017-12-19
  • 打赏
  • 举报
回复
    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);
        }
    }
zhuowp 2017-12-19
  • 打赏
  • 举报
回复
        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


}



不知道你要的是不是这个效果
大然然 2017-12-19
  • 打赏
  • 举报
回复
http://blog.csdn.net/skysword2/article/details/52456939
exception92 2017-12-19
  • 打赏
  • 举报
回复
WPF中没有window控件,只有window根节点或者window窗体。编辑效果就使用可编辑控件,textbox即可,不过你需要做的是写一个带下 划线样式的自定义textbox。不清楚网上搜索 textbox style/template 或者 "wpf 如何让textbox只显示下划线".

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧